我一直在寻找一段时间,但我找不到解决我的问题的简单方法。我想在表中复制一条记录,但当然,唯一的主键需要更新。在同一个MySQL表中复制/复制记录
我有这个疑问:
INSERT INTO invoices
SELECT * FROM invoices AS iv WHERE iv.ID=XXXXX
ON DUPLICATE KEY UPDATE ID = (SELECT MAX(ID)+1 FROM invoices)
的问题是,这只是改变了该行的ID
而不是复制的行。有人知道如何解决这个问题吗?
//编辑:我想这样做而不输入所有的字段名称,因为字段名称可以随时间变化。
我喜欢它,中间要留意一些东西 – SeanDowney 2011-05-04 21:54:26
如果您要复制单个记录,则可以删除更新和插入的位置。然后你可以在mysql控制台中按两次,这会弹出历史记录中的倒数第二个操作,在最后更改方便的update中的id,按回车键,按下,再次敲入,而不改变任何内容,然后重复该程序为多个副本。快多了。 – 2012-03-12 22:57:20