gpt4 book ai didi

mysql - 在同一个 MySQL 表中复制/复制记录

转载 作者:IT老高 更新时间:2023-10-28 12:51:50 26 4
gpt4 key购买 nike

我一直在寻找一段时间,但我找不到一个简单的解决方案来解决我的问题。我想在表中复制一条记录,但是唯一的主键当然需要更新。

我有这个问题:

INSERT INTO invoices
SELECT * FROM invoices AS iv WHERE iv.ID=XXXXX
ON DUPLICATE KEY UPDATE ID = (SELECT MAX(ID)+1 FROM invoices)

问题在于这只是更改了行的 ID 而不是复制行。有谁知道如何解决这个问题?

//编辑:我想在不输入所有字段名称的情况下执行此操作,因为字段名称会随着时间而改变。

最佳答案

我通常采用的方式是使用临时表。它可能在计算上效率不高,但似乎可以正常工作!这里我将整个记录 99 复制,创建记录 100。

CREATE TEMPORARY TABLE tmp SELECT * FROM invoices WHERE id = 99;

UPDATE tmp SET id=100 WHERE id = 99;

INSERT INTO invoices SELECT * FROM tmp WHERE id = 100;

希望对你有用!

关于mysql - 在同一个 MySQL 表中复制/复制记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/729489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com