MySQL是否始终支持字段的简写验证?

时间:2011-08-18 05:57:43

标签: mysql shorthand

我目前正在编写很多MySQL查询,并注意到我可以使用速记验证,如下所示:

SELECT id, content, date_added FROM table WHERE date_added

(其中date_added是一个默认的NULL时间戳,我不必具体询问它是否为非NULL以返回所有带时间戳的结果)

我只需要知道是否建议这样做,或者这个速记功能是否在某个MySQL版本上可用,因为我希望保持向后兼容性。 我以前确定这不起作用,我不得不写出整个条件,但现在我无法确认。

2 个答案:

答案 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