Why is this query giving an error? The error is: SQL Error (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
有帮助吗?

解决方案

You can do either Alter the table to add AUTO_INCREMENT TO THE ID field, or always provide an Id on Inserts

For adding AUTO_INCREMENT just find the largest value of id in the table and set id it to one more.

其他提示

IDString seem to be set as PRIMARY. PRIMARY must have unique value. If you want to use multiple value with the same value, use a regular non-unique INDEX.

By the way, if you have a UNIQUE index on both field, thoses are similar :

('RUS-002A', 'Fort'), #three
('RUS-002A', 'Fort'), #four
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top