Ключевое слово в названии столбца таблицы

Фанат

oncle terrible
Команда форума
кстати, "лучше" чем что? чем писать с соблюдением синтаксиса?
 

dark-demon

d(^-^)b
чем использовать вполне лаконичные имена `date`, `table`, `time`
и вообще, использование бэктиков жёстко привязывает нас к мускулу, что дарует нам дополнительный геморрой в случае смены субд...
 

Фанат

oncle terrible
Команда форума
и вообще, использование бэктиков жёстко привязывает нас к мускулу
херню не надо писать
жёстко привязывает нас к мускулу нас желание пользоваться инструментом по-человечески, а не через одно место.
и бэктики здесь не при чем
 

Фанат

oncle terrible
Команда форума
он имеет в виду уже получение результата, наверное
когда в полученном датасете будет два поля id, к примеру.

то есть, предлагает использовать алиасы не ттогда, где они нужны, а вообще все время с ними париться
 

dark-demon

d(^-^)b
по человечески - это с использованием стандартного sql синтаксиса
Код:
table.field
а не специфичного для одной субд
Код:
`table`.`field`
использование двухсложных имён вида prefix_name позволяет заведомо избежать ключевых слов и соответственно необходимости использовать специфичное экранирование. это помимо возможности использовать "select *" для группы таблиц, определения принадлежности поля по его префиксу, группировки первичного и вторичного ключей...
 
С кАвычками, конечно, все нормально работает.
Только БД по ночам из cron и mysqldump, ессественно, не хочет из вставлять.

Вот и приходится в случае восстановления данных добавлять их вручную.

А в общем вопрос решен. Спасибо...
-----------
Автор оригинала: cDLEON
Эээээ, не смешите меня так больше)
Почему ПХП не должен хавать нормальный синтаксис?
При чём здесь ПХП к SQL ?
Да, Вы правы. ПХП к SQL вообще отношения не имеет и никак с БД не взаимодействует...:)
 

Wicked

Новичок
dark-demon
Мосье никогда не джоинил таблицы сами с собой?

Да и вообще, префиксы всем хороши: позволяют писать запросы с раздолбайским синтаксисом, позволяют делать select * везде где нужно, и где не нужно, ...

имён вида prefix_name позволяет заведомо избежать ключевых слов
Откровенная ложь. Пример: ключевое слово STRAIGHT_JOIN.

И, можно подумать, что если ты пишешь запросы без бэктиков, ты вот прям можешь на ходу базу данных менять... ухаха.
 

dark-demon

d(^-^)b
>И, можно подумать, что если ты пишешь запросы без бэктиков, ты вот прям можешь на ходу базу данных менять...

во многих случаях это действительно так.

>Мосье никогда не джоинил таблицы сами с собой?

я разве предлагал панацею? предложенный мной подход действительно упрощает жизнь при существующем разброде субд и несовершенстве sql.

>Пример: ключевое слово STRAIGHT_JOIN.

несколько исключений не сложно запомнить.

(интересно, каким местом они думали, когда вводили такое ключевое слово?)
 

kruglov

Новичок
dark-demon
не знаю, не знаю, на мой взгляд написать users left join groups on users.group=groups.id или users as u left join groups as g on u.group=g.id еще лучше, никакой денормализации (когда имя таблицы я храню несколько раз, еще и в названиях ее полей) нету.

-~{}~ 15.08.07 23:01:

предложенный мной подход действительно упрощает жизнь при существующем разброде субд и несовершенстве sql.
Ммм, а скажите, клавиатура у вас arabic и chinese compatible? Ну в смысле из соображений совместимости с разбродом человеческих языков?
 

dark-demon

d(^-^)b
ага, ты забыл ещё

select u.id as uid, g.id as gid...

и прочие совпадающие имена.

Ммм, а скажите, клавиатура у вас arabic и chinese compatible? Ну в смысле из соображений совместимости с разбродом человеческих языков?
де-факто английский - международный язык.
 
Сверху