相关疑难解决方法(0)

MySQL是否在唯一约束上忽略空值?

我有一个我想要独特的电子邮件专栏.但我也希望它接受空值.我的数据库可以通过这种方式发送2封空邮件吗?

mysql database

254
推荐指数
5
解决办法
9万
查看次数

MySQL:UNIQUE,但DEFAULT NULL - 通过创建表允许.允许插入超过1个NULL.为什么?

我刚刚检查过并且允许创建一个默认为NULL的表,尽管它同时是一个独特的键:

CREATE TABLE IF NOT EXISTS `u789` (
`column1` varchar(10) DEFAULT NULL,
UNIQUE KEY (column1)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)

据我所知,它看起来很奇怪,没有多大意义.我期待第二次插入

INSERT INTO u789 VALUE (NULL);
Run Code Online (Sandbox Code Playgroud)

将失败.

但是,它会毫无问题地插入第一个,第二个,第三个NULL值.如果表格中已经有NULL,谁可以解释为什么它是第二列和第三列?

这是一个理论问题(据我所知,在大多数情况下,没有人使用DEFAULT NULL + UNIQUE KEY作为同一列),但我想理解为什么一旦NULL已经在列中,它就不会抛出错误.我在声明一个独特的列时做错了吗?

谢谢.

mysql null default unique

7
推荐指数
2
解决办法
7284
查看次数

标签 统计

mysql ×2

database ×1

default ×1

null ×1

unique ×1