Всегда ли MySQL поддерживал стенографическую проверку полей? - PullRequest
0 голосов
/ 18 августа 2011

В настоящее время я пишу много запросов MySQL и заметил, что могу использовать сокращенную проверку, например так:

SELECT id, content, date_added FROM table WHERE date_added

(где date_added - это временная метка по умолчанию, равная NULL, и мне не нужно специально спрашивать, является ли она NOT NULL, чтобы возвращать все результаты, имеющие метку времени)

Мне просто нужно знать, не рекомендуется ли это, или эта функциональность сокращения стала доступна в определенной версии MySQL, поскольку я хотел бы сохранить обратную совместимость. Ранее я был уверен, что это не сработало, и мне пришлось выписать все условия, но теперь я не могу подтвердить.

Ответы [ 2 ]

3 голосов
/ 18 августа 2011

Я бы точно не назвал это «сокращенной проверкой».Я не уверен, откуда вы это взяли.

Предложение WHERE просто проверяет правдивость.NULL не является значением TRUE, все другие ненулевые значения равны TRUE.

Даже если это работает для вас, я все равно настоятельно рекомендую это сделать.Я поддерживаю очень явные запросы к базе данных.Нам не нужно никакого дополнительного колдовства вуду ...

Палка с

SELECT id, content, date_added
FROM table
WHERE date_added IS NOT NULL;
1 голос
/ 18 августа 2011

Я действительно понимаю, что вы подразумеваете под сокращенной проверкой ваших терминов, спасибо за указание на это ... Я использовал «WHERE 1» довольно много, чтобы начать «переменную предложения WHERE» в PHP, вдохновленную запросами phpMyAdminиспользовал это в течение долгого времени, так что, возможно, это хотя бы несколько отвечает на ваш вопрос ...

Это из 2004: http://forums.devshed.com/mysql-help-4/phpmyadmin-where-1t-112118.html

...