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

时间:2016-06-07 06:39:42

标签: mysql sql

我必须像这样表。现在tbl2.transaction_id来自tbl1.id。我想用tbl2.transaction_id现在指向它们的tbl1.id_trans值更新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             |
+------+----------------+

3 个答案:

答案 0 :(得分:2)

尝试使用join进行更新:

class BookModel {
    const TABLE_NAME = 'books';
}

echo BookModel::TABLE_NAME;

答案 1 :(得分:1)

试试这个,

RowDefinitions

答案 2 :(得分:1)

您可以使用此查询:

    UPDATE tbl2
INNER JOIN tbl1 ON tbl1.id = tbl2.transaction_id
SET
    tbl2.transaction_id = tbl1.id_trans