截断表&将忽略结果插入#1062 - 键'PRIMARY'错误的重复条目

时间:2015-07-08 05:47:03

标签: mysql primary-key

我发生了一件非常奇怪的事情,这是我的疑问:

TRUNCATE TABLE `cms_clients`;
INSERT IGNORE INTO `cms_clients` (`id`,`col1`,`col2`,`col3`) VALUES
(4,NULL,NULL,NULL),
(5,NULL,NULL,NULL),
(6,NULL,NULL,NULL),
(7,NULL,NULL,NULL),
(8,NULL,NULL,NULL);

我唯一的主要密钥是id,即使我在查询中有truncateinsert ignore,它仍然会导致错误: #1062 - Duplicate entry '4' for key 'PRIMARY' error但是当它预览该错误并且我查看表格时,我可以看到行4&已插入5,因此行6触发了错误;当我手动删除行45并再次运行查询时,我得到相同的错误,但是在另一行:#1062 - Duplicate entry '6' for key 'PRIMARY'和我查看表格时的前一行相同看到插入了行4567,因此我认为行8正在触发错误。

这是表的架构:

CREATE TABLE `cms_clients` (
 `id` bigint(20) NOT NULL AUTO_INCREMENT,
 `col1` varchar(200) NOT NULL,
 `col2` varchar(180) NOT NULL,
 `col3` varchar(180) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1

我做错了什么还是我的mysql开始有点奇怪?

修改 我只是在另一台计算机上试过它并且工作正常,我认为问题出在我的mysql而不是查询中。

0 个答案:

没有答案