【发布时间】:2022-01-06 01:28:34
【问题描述】:
也许我只是错过了一些东西。由于问题太不具体,无法通过谷歌搜索/搜索,我现在在这里寻求帮助。在 MySQL
中测试我的问题:为什么这个 SELECT 不输出 [id=2]?
SELECT `id` FROM `testtable1` WHERE NOT (`key_boolean` = 1);
表定义和测试数据:
CREATE TABLE IF NOT EXISTS `testtable1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`key_boolean` tinyint NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) AUTO_INCREMENT=1;
INSERT INTO `testtable1` (`key_boolean`) VALUES (1);
INSERT INTO `testtable1` () VALUES ();
现在存储在表中:
| id | key_boolean |
|---|---|
| 1 | 1 |
| 2 | NULL |
编辑: 根据答案,我实际上在 StackOverflow 上发现了一些更类似的问题。这篇文章非常适合 MySQL:MYSQL syntax not evaluating not equal to in presence of NULL
【问题讨论】:
标签: mysql sql where-clause