我查了又查,但还是找不到这个问题的答案。
假设我有两张 table 。
表 A 来 self 的新表,有 id 和标签。 表 B 来 self 的旧数据库,并且有 tag_id 和 tag_text。
我需要做这样的事情。
UPDATE A,B
SET A.tags = CONCAT(A.tags, B.tag_text)
WHERE A.id IN
(SELECT tag_id FROM B where B.category_id = 'video')
我试图循环遍历 A 中的每个项目,检查其 id 是否与 B 中的 tag_id 匹配,如果匹配,则在 A 中的标签之间用“,”连接。
就我的一生而言,我知道我以前曾经这样做过,但我似乎无法弄清楚。
最佳答案
您是否尝试过在 A
和 B
表之间使用 INNER JOIN
?
UPDATE A
INNER JOIN B ON A.id = B.tag_id
SET A.tags = CONCAT(A.tags, B.tag_text)
WHERE B.category_id = 'video'
关于Select 中的 MYSQL 更新 - 在连接行时多次更新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34387956/