gpt4 book ai didi

MySQL/MariaDB 等式为 null 不起作用

转载 作者:行者123 更新时间:2023-11-29 11:35:29 25 4
gpt4 key购买 nike

我有带有方案的数据库:

CREATE TABLE `pages` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
`descr` blob,
`updated` binary(14) NOT NULL,
`weight` float NOT NULL,
`s1` varchar(1024) DEFAULT NULL,
`s2` varchar(1024) DEFAULT NULL,
`s3` varchar(1024) DEFAULT NULL,
`s4` varchar(1024) DEFAULT NULL,
`s5` varchar(1024) DEFAULT NULL,
`s6` varchar(1024) DEFAULT NULL,
`s7` varchar(1024) DEFAULT NULL,
`s8` varchar(1024) DEFAULT NULL,
`s9` varchar(1024) DEFAULT NULL,
`s10` varchar(1024) DEFAULT NULL,
`s11` varchar(1024) DEFAULT NULL,
`s12` varchar(1024) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `page_title` (`title`),
KEY `page_updated` (`updated`)
) ENGINE=InnoDB AUTO_INCREMENT=16074 DEFAULT CHARSET=utf8

然后,我有超过 10.000 个条目,如下所示:

|  3 | !1           | NULL  | 20160412095518 |      0 | NULL | NULL | NULL | ["redirect","1111"]                                                                                                                                         | NULL            | NULL | NULL                                              | NULL | NULL | NULL | NULL | NULL |

但是:

> select * from pages where pages.s1 = null limit 5;
Empty set (0.05 sec)

使用“pages.s1 like '[%'”进行选择,顺便说一句

为什么?

最佳答案

NULL从不 = ,或<> ,或>=<=任何事物,甚至它本身。

这有点奇怪。但当你习惯了它,它就有意义了。 NULL根本没有任何值(value)。

您需要where pages.s1 IS NULL不是= NULL .

(这在 Oracle 中可能非常令人困惑,其中零长度 varchar2 字符串被视为 NULL。但它在 MySQL 上以更直接的方式工作。)

关于MySQL/MariaDB 等式为 null 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36664395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com