【发布时间】:2011-12-08 18:44:34
【问题描述】:
我在MySQL 表上遇到了一个奇怪的问题。尝试插入新行时,它说主键是重复的。我的主键是自动增量的,没有在我的查询中设置(由 MySQL 自动设置)。
问题是我在一个甚至不存在的键上出现“重复主键”错误(我检查过)。我解决了增加当前auto_increment 值的问题,但我不明白它是如何发生的。
任何帮助都会很棒。
编辑
表创建
CREATE TABLE `articles_mvt` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`ext_article_id` int(5) NOT NULL,
`date_mvt` date NOT NULL,
`qte` float(4,2) NOT NULL,
`in_out` enum('in','out') NOT NULL,
`ext_nateco_id` int(5) NOT NULL,
`ext_agent_id` int(5) NOT NULL COMMENT 'Demandeur',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1647 ;
有问题的查询
INSERT INTO articles_mvt (
`ext_article_id`,
`date_mvt`,
`qte`,
`in_out`,
`ext_nateco_id`,
`ext_agent_id`
)
VALUES (
'".$_POST["numArticle"]."',
'".dateSql($_POST["date_mvt"])."',
".$_POST["qte_entier"].".".$_POST["qte_virgule"].",
'".$_POST["in_out"]."',
".$_POST["numNateco"].",
".$_POST["demandeur"]."
)
FYI 变量已在代码的前面部分进行了清理;)
【问题讨论】:
-
如果您不发布查询,我们将无法帮助您...
标签: mysql duplicates