mysql - 从 mysql 中的另一个表更新表值,其中更新的字段是外键

标签 mysql sql

我必须像这样摆 table 。现在 tbl2.transaction_id 来自 tbl1.id。我想用 transaction_id 现在指向它们的 tbl1.id_trans 值更新 tbl2.transaction_id。我可以只用一个查询来做到这一点吗?谢谢。

tbl1
+------+----------------+
| id   | id_trans       |
+------+----------------+
|   53 | 531            |
|   54 | 532            |
|   55 | 533            |
|   56 | 554            |
|   57 | 555            |
+------+----------------+


tbl2
+------+----------------+
| id   | transaction_id |
+------+----------------+
|   10 | 53             |
|   11 | 55             |
|   12 | 56             |
+------+----------------+

最佳答案

尝试加入更新:

UPDATE tbl2 t
INNER JOIN tbl1 s
 ON(t.transaction_id = s.id)
set t.transaction_id = s.id_trans

关于mysql - 从 mysql 中的另一个表更新表值,其中更新的字段是外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37672165/

相关文章:

java - Hibernate 加入保存级联

sql - 具有相关子查询的 MySql 范围问题

java - 数据排序的最佳方式

php - 如何使用PHP进行SQL的GROUP BY?

mysql - 找不到此 SQL 错误的原因

php - 如何同时获取和发布方法

php - 查询生成器 : IN clause with composite columns

mysql - 来自 GROUP_BY 的两个 LEFT JOIN 的 GROUP_CONCAT 的奇怪重复行为

php - 百分号在 PHP 中有什么作用?

mysql - 什么会导致 Rails 作用域抛出 NoMethodError