gpt4 book ai didi

MYSQL:如何更新多个表中的uuid

转载 作者:行者123 更新时间:2023-11-29 23:01:09 27 4
gpt4 key购买 nike

我有 2 张 table :

table1
-UUID Id
-CHAR NAME

table2
-UUID Id
-UUID table1Id (foreign key for table1 Id)
-CHAR CHILD_INFO

我需要将这 2 个表 ID 更新为新的 UUID。 (出于某些复制原因)如何通过一次更新来做到这一点(1)将 talbe1 Id 更改为新的,2)更改 talbe2 table1Id 中的此外部 ID?附:我们不能在外部约束中使用级联,因为某些地方使用了多态关系。

最佳答案

我通过这样的查询找到了这个问题的解决方案:

SET foreign_key_checks = 0;

UPDATE table1 as t1
join (select uuid() as newId, Id from table1) as ut1 on t1.Id = ut1.Id
LEFT join table2 as t2 on t1.Id = t2.table1Id
SET t1.Id = ut1.newId, t2.table1Id = ut1.newId;

SET foreign_key_checks = 1;

因此,您需要使用 Left Join 连接子表并执行复杂的更新。

关于MYSQL:如何更新多个表中的uuid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28486969/

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