gpt4 book ai didi

mysql - 如何通过从另一个表加入来更新 mysql 中的列?

转载 作者:行者123 更新时间:2023-11-30 22:01:16 26 4
gpt4 key购买 nike

我有一个数据库,但为了优化我重建了它。

在这里:

用户

(P) user_id
pseudo

图片

(P) image_id
path

标签

(P) tag_id
#image_id
#user_id (INT)
tag

旧的表格标签是这样的:

旧标签

(P) tag_id
#image_id
author (VARCHAR)
tag

我的问题是:old_tags 充满了数据(大约 6000 行)而标签是空的,我想将所有数据从 old_tags 转换为我的新标签表格式。但是列不同,author 是 VARCHAR 和 user_id 是 INT。但是old_tagsusers之间是有联系的,因为作者指的是伪。

我想要这样的东西:

UPDATE tags
SET user_id = (SELECT user_id FROM users, old_tags WHERE users.pseudo = old_tags.author)

我不知道是否清楚,我希望新标签表中的所有内容都相同,但我想要相应的“user_id”而不是“作者”。我正在使用 phpmyadmin,所以如果可能的话建议一些我可以直接在其中运行的东西。提前致谢!

最佳答案

您必须执行 INSERT 才能向表中添加新行:

INSERT INTO tags (tag_id, image_id, user_id, tag)
SELECT ot.tag_id, ot.image_id, u.user_id, ot.tag
FROM old_tags ot
JOIN users u ON ot.author = u.pseudo

关于mysql - 如何通过从另一个表加入来更新 mysql 中的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43255834/

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