gpt4 book ai didi

mysql - 如何将多个列中的 ID 替换为同一外部表中的相关数据?

转载 作者:行者123 更新时间:2023-11-29 12:21:50 24 4
gpt4 key购买 nike

我有两个 MySQL 表(简化)。

表“words”包含“id”和“word”字段。表“entities”有一个“id”字段(针对每个实体),然后有多个列,每个列都包含单词表中的 word_id(word_id_0、word_id_1、word_id_2 等)。

我想从“entities”表中转储一堆行,并用单词替换 word_id。有没有一种简单的方法可以用 SQL 来做到这一点?

go from: 1, 234, 456, 567
to: 1, word_234, word_456, word_567

通常我会连接两个表,然后选择“word”而不是“word_id”。我想知道是否有一种有效的方法可以在没有大量嵌套连接查询的情况下做到这一点。

最佳答案

words包含列idword

entities包含列idword_id_0word_id_1,我正在添加word_0 code> 和 word_1 来保存单词本身。 (您可以在下面添加其他列 - 这只是一个概念证明。)

UPDATE entities 
LEFT JOIN words w0 ON (w0.id = entities.word_id_0)
LEFT JOIN words w1 ON (w1.id = entities.word_id_1)
SET word_0 = w0.word, word_1 = w1.word

如果 word_id_n 已经是 CHAR 或 VARCHAR,那么您可以直接将单词放入其中,但在标记为 ID 的列中包含非 id 字符串只会让我烦恼。

来源:http://www.mysqltutorial.org/mysql-update-join/http://dev.mysql.com/doc/refman/5.0/en/update.html

关于mysql - 如何将多个列中的 ID 替换为同一外部表中的相关数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28888185/

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