gpt4 book ai didi

sql - 将新的 id 保存到旧表中

转载 作者:行者123 更新时间:2023-11-29 14:57:53 26 4
gpt4 key购买 nike

我想从这些旧表中移动数据

restaurant_id | restaurant_nm | more data

bar_id | bar_nm | more data

venue_id | venue_nm

我会将字段venue_id添加到旧表中
然后我想运行与此类似的查询:

INSERT INTO `venue` (SELECT null, `restaurant_nm` FROM `restaurant`)

但是,在进行复制时,我希望将新 ID 存储到旧表中。这可以用纯mysql实现吗?

编辑老餐馆可以是链式店(多个凌乱的乔's),唯一能100%识别它们的是id

最佳答案

您可以将旧 ID 临时存储在新表中(在额外的列中),然后对旧表执行 UPDATE。这是两行“纯 SQL”。

restaurant_id |restaurant_name | v_id

venue_id | venue_name | rest_id

INSERT INTO `venue` (SELECT null, `restaurant_nm`, `restaurant_id` FROM `restaurant`)

然后

UPDATE restaurant r
INNER JOIN venue v
ON r.restaurant_id = v.rest_id
SET r.v_id = v.venue_id

有兴趣了解更优雅的解决方案。

关于sql - 将新的 id 保存到旧表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4093631/

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