0

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

SELECT id, content, date_added FROM table WHERE date_added

(其中 date_added 是一个默认的 NULL 时间戳,我不必特别询问它是否不是 NULL 来返回所有具有时间戳的结果)

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

4

2 回答 2

3

我不会将其称为“速记验证”。我不确定你是从哪里得到的。

WHERE子句只是要检查真实性。NULL不是一个TRUE值,所有其他非零值都是TRUE.

即使这对您有用,我仍然强烈建议您不要这样做。我赞成非常明确的数据库查询。我们这里不需要任何额外的巫术……

坚持

SELECT id, content, date_added
FROM table
WHERE date_added IS NOT NULL;
于 2011-08-18T06:00:39.833 回答
1

我实际上理解您的术语速记验证的意思,感谢您指出这一点......我已经使用“WHERE 1”来启动 PHP 中的“WHERE 子句变量”,灵感来自 phpMyAdmin 一直在使用的查询有一段时间了,所以也许这至少在某种程度上回答了你的问题......

这是从 2004 年开始的: http ://forums.devshed.com/mysql-help-4/phpmyadmin-where-1t-112118.html

于 2011-08-18T06:10:07.387 回答