0

为什么这个查询会出错?错误是: SQL 错误 (1062): Duplicate entry '0' for key 'PRIMARY'

INSERT INTO `static_number_source` (`IDString`, `source`) VALUES
('RUS-001A', 'Thub'), #one
('RUS-001A', 'Fort'), #two
('RUS-002A', 'Thub'), #three
('RUS-002A', 'Fort'), #four
('RUS-003A', 'Thub'), #five
('RUS-003A', 'Fort'), #six
('RUS-004A', 'Thub'), #seven
('RUS-004A', 'Fort'); #eight
4

2 回答 2

1

IDString 似乎设置为 PRIMARY。PRIMARY 必须具有唯一值。如果要使用具有相同值的多个值,请使用常规的非唯一 INDEX。

顺便说一句,如果您在两个字段上都有一个 UNIQUE 索引,那么它们是相似的:

('RUS-002A', 'Fort'), #three
('RUS-002A', 'Fort'), #four
于 2012-07-06T18:13:28.020 回答
1

您可以更改表以将 AUTO_INCREMENT 添加到 ID 字段,或者始终在插入时提供 Id

要添加AUTO_INCREMENT,只需在表中找到 id 的最大值并将 id 设置为多一个。

于 2012-07-06T19:11:20.753 回答