我在MySQL中偶然发现了奇怪的行为。
假设我表中只有一条记录
| id | oib |
|----|-----|
| 1 | 5 |
Field oib 是唯一的。
INSERT INTO `test` (`id`, `oib`) VALUES (NULL, '6')
我得到以下异常
Duplicate entry '5' for key 'oib_UNIQUE'
无论我试图保存什么价值,这都会继续下去。 任何人都知道是什么原因造成的。我从未见过它。
更新:
这是CREATE TABLE语句:
CREATE TABLE IF NOT EXISTS `user` (
`id` int(25) NOT NULL AUTO_INCREMENT,
`email` varchar(45) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
`first_name` varchar(45) DEFAULT NULL,
`last_name` varchar(45) DEFAULT NULL,
`dob` int(25) DEFAULT NULL,
`address` varchar(255) DEFAULT NULL,
`zip` int(6) DEFAULT NULL,
`oib` int(11) DEFAULT NULL,
`position` tinyint(4) DEFAULT NULL,
`role` varchar(45) DEFAULT NULL,
`status` tinyint(4) DEFAULT NULL,
`note` mediumtext,
PRIMARY KEY (`id`),
UNIQUE KEY `email_UNIQUE` (`email`),
UNIQUE KEY `oib_UNIQUE` (`oib`)
)
答案 0 :(得分:2)
您无法在ID主键
中插入空值答案 1 :(得分:0)
你确定你的表有oib ='5'的一条记录吗?
您无法在主键中插入null。