使用 MySQL 检查空字段
我写了一个查询来检查符合特定条件的用户,其中一个是他们有电子邮件地址.
I've wrote a query to check for users with certain criteria, one being they have an email address.
我们的网站将允许用户拥有或不拥有电子邮件地址.
Our site will allow a user to have or not have an email address.
$aUsers=$this->readToArray('
SELECT `userID`
FROM `users`
WHERE `userID`
IN(SELECT `userID`
FROM `users_indvSettings`
WHERE `indvSettingID`=5 AND `optionID`='.$time.')
AND `email`!=""
');
这是在 SQL 中检查空字段的最佳方法吗?我刚刚尝试了IS NOT NULL",这仍然返回了一个用户记录,而他们没有电子邮件地址.
Is this the best way to check for an empty field in SQL? I've just tried "IS NOT NULL" and this still returned a users record without them having an email address.
上面的查询有效,但出于好奇,我想知道我是否以正确的方式进行操作.
The query above works but out of curiosity I wondered if I'm doing it the correct way.
推荐答案
空字段可以是空字符串或 NULL
.
An empty field can be either an empty string or a NULL
.
要同时处理这两种情况,请使用:
To handle both, use:
email > ''
如果您的表格中有大量空电子邮件记录(两种类型),则可以从 range
访问中受益.
which can benefit from the range
access if you have lots of empty email record (both types) in your table.
相关文章