gpt4 book ai didi

php - 将某些列复制到新表后,如何用最新的 id 替换列值?

转载 作者:行者123 更新时间:2023-11-29 08:32:04 24 4
gpt4 key购买 nike

我有一个像这样的 MySQL 表

id parentid name
-- ------ ----
1 0 name1
2 1 name2
3 2 name3
4 0 name4
. . ....

将一些行复制到新表后,如果它不是 0,我需要将 Parentid 值替换为新插入的 id,如下所示

ids parentids names
-- ------ ----
10 0 name1
11 10 name2
12 11 name3
13 0 name4
. . ....

如何使用 PHP 和 MySQL 建立这个?谢谢。

最佳答案

您可能应该尽一切努力保持 ID 相同。如果这是不可避免的,您必须重新映射它们:

CREATE TEMPORARY TABLE _remap AS
SELECT table_b.id AS new_id, table_a.id AS old_id
FROM table_b
LEFT JOIN table_a ON table_a.name=table_b.name

UPDATE table_b,_remap SET table_b.parent_id=_remap.new_id
WHERE table_b.parent_id=_remap.old_id

这假定您的 name 列是唯一的。

关于php - 将某些列复制到新表后,如何用最新的 id 替换列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16308409/

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