mysql - 从 3 个表中更新 SET 信息

标签 mysql

table_a (item_id, item_desc)

table_b (item_id, item_name)

table_c (item_name, item_desc)

我需要设置 table_a.item_desc=table_c.item_desc

无论我在做什么,我仍然会遇到错误。

这是我的最终作品:

UPDATE table_a 
SET table_a.item_desc = table_c.item_desc 
FROM table_a
INNER JOIN table_b
ON table_a.item_id = table_b.item_id
INNER JOIN table_c
ON table_b.item_name = table_c.item_name;

最佳答案

你有语法错误。在 MySQL 中,当使用 UPDATEJOIN 时,您不需要添加 FROM 子句。
还添加表别名以提高可读性。

UPDATE table_a A
INNER JOIN table_b B ON A.item_id = B.item_id
INNER JOIN table_c C ON B.item_name = C.item_name
SET A.item_desc = C.item_desc ;

关于mysql - 从 3 个表中更新 SET 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37855951/

相关文章:

mysql - select * INTO outfile 生成格式错误的日期

php - 当我按下拒绝时,Confirm() 不会拒绝

php - 使用数据库信息作为下拉列表选项

php - 如何获取 column1 中的 value1 和 column2 中的 value2 但 column1 中的 value2 在 column2 中没有 value1 的行?

Python mysql 连接器 LIKE 针对 unicode 值

php - 如何对 PHP 数组进行排序?

mysql - 如何在 Laravel 中显示使用同一数据库表中两个不同值的图表?

php - 根据最大日期获取每组的最新行

php - 组合多个 MySQL JOIN 查询

mysql - 对于冗长的 MySql 查询,组函数的使用无效