mysql中的错误1062

时间:2016-10-26 06:53:24

标签: mysql mysql-error-1062

INSERT INTO order SELECT * FROM order WHERE date > DATE_SUB(NOW(), INTERVAL 6 MONTH);

我收到错误代码:1062 Duplicate entry '5890738' for key 'PRIMARY'

如何解决此问题,因为我只需要6个月的数据,但此表包含6年的数据?

2 个答案:

答案 0 :(得分:0)

你得到的错误意味着你试图两次插入id(主键和唯一键),以解决你必须使用类似的东西:

INSERT INTO order(all your columns except Id_column) SELECT all your columns except Id_column FROM order WHERE date > DATE_SUB(NOW(), INTERVAL 6 MONTH);

注意:Id必须是自动增量列

答案 1 :(得分:0)

使用MySQL查询:

INSERT INTO order(all your columns except Id_column)   
SELECT all your columns except Id_column   
FROM order WHERE date > DATE_SUB(NOW(), INTERVAL 6 MONTH);