mysql数据库的unique约束的列可不可以为空?

mysql数据库的unique约束的列可不可以为空?,第1张

mysql数据库

中的unique约束列可以为空

可做如下测试:

1、创建测试表test:

CREATE TABLE Persons

(Id_P int,

LastName varchar(255) NOT NULL,

UNIQUE (Id_P))2、首次插入一个空值:

insert into Persons values (null,'wang')执行结果截图,显示成功:

3、第二次插入一个空值:

insert into Persons values (null,'zhang')执行结果截图,同样显示成功:

结论:在unique的列是可以多次插入空值。

如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用:

复制代码 代码如下:

INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) VALUES ('test9@163.com', '99999', '9999')

这样当有重复记录就会忽略,执行后返回数字0

还有个应用就是复制表,避免重复记录:

复制代码 代码如下:

INSERT IGNORE INTO `table_1` (`name`) SELECT `name` FROM `table_2`


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6118288.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存