我目前正在编写很多MySQL查询,并注意到我可以使用速记验证,如下所示:
SELECT id, content, date_added FROM table WHERE date_added
(其中date_added是一个默认的NULL时间戳,我不必具体询问它是否为非NULL以返回所有带时间戳的结果)
我只需要知道是否建议这样做,或者这个速记功能是否在某个MySQL版本上可用,因为我希望保持向后兼容性。 我以前确定这不起作用,我不得不写出整个条件,但现在我无法确认。
答案 0 :(得分:3)
我不会完全称之为“速记验证”。我不知道你从哪里得到它。
WHERE
条款只是为了检查真实性。 NULL
不是TRUE
值,所有其他非零值都是TRUE
。
即使这对你有用,我仍然会强烈建议不要这样做。我赞成非常明确的数据库查询。我们这里不需要添加任何伏都巫术......
坚持
SELECT id, content, date_added
FROM table
WHERE date_added IS NOT NULL;
答案 1 :(得分:1)
我实际上理解你的术语速记验证是什么意思,感谢你指出这一点......我已经使用了“WHERE 1”来启动PHP中的“WHERE子句变量”,灵感来自phpMyAdmin的查询已经使用了很长一段时间了,所以也许至少在某种程度上回答了你的问题...
这是从2004年开始的: http://forums.devshed.com/mysql-help-4/phpmyadmin-where-1t-112118.html