INSERT INTO order SELECT * FROM order WHERE date > DATE_SUB(NOW(), INTERVAL 6 MONTH);
我收到错误代码:1062
Duplicate entry '5890738' for key 'PRIMARY'
如何解决此问题,因为我只需要6个月的数据,但此表包含6年的数据?
答案 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);