Select 中的 MYSQL 更新 - 在连接行时多次更新行

标签 mysql sql-update

我查了又查,但还是找不到这个问题的答案。

假设我有两张 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 中的标签之间用“,”连接。

就我的一生而言,我知道我以前曾经这样做过,但我似乎无法弄清楚。

最佳答案

您是否尝试过在 AB 表之间使用 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/

相关文章:

c# - Winform 应用程序中的进度条,递增进度条直到在数据库上执行查询

python - 与此等效的 MySql Update 是什么?

php - 在一个查询中进行选择和更新

mysql - 使用内部联接插入记录后更新表

sql - 通过 R sqlSave 更新 SQL 表

mysql - 从 mysql 中的逗号分隔键创建列表

mysql - mysql中的ERROR 1064,任何人都可以检查错误是什么?

c# - 通用应用程序MySQLConnector连接错误

mysql - mysql多次批量更新操作死锁

mysql - SQL错误外键