【发布时间】:2021-03-15 10:06:13
【问题描述】:
我有两张桌子
第 1 章
id product_id quantity status
第 2 章
id product_id status
用tbl1.product_id = tbl2.product_id,我想做一个触发器,所以如果我更新tbl1.product_id中的tbl1.status,那么它将自动更新tbl2.product_id的状态,具有相同的状态值
如果我们说桌子是这样的
tbl1
+----+------------+----------+--------+
| id | product_id | quantity | status |
+----+------------+----------+--------+
| 1 | 15 | 2 | 1 |
| 2 | 16 | 4 | 1 |
+----+------------+----------+--------+
tbl2
+----+------------+--------+
| id | product_id | status |
+----+------------+--------+
| 1 | 15 | 1 |
| 2 | 16 | 1 |
+----+------------+--------+
如果我想将 tbl1.product_id = 15 更新为 status = 0,那么 tbl2.product_id = 15 也会像这样变为 status = 0
tbl1
+----+------------+----------+--------+
| id | product_id | quantity | status |
+----+------------+----------+--------+
| 1 | 15 | 2 | 0 |
| 2 | 16 | 4 | 1 |
+----+------------+----------+--------+
tbl2
+----+------------+--------+
| id | product_id | status |
+----+------------+--------+
| 1 | 15 | 0 |
| 2 | 16 | 1 |
+----+------------+--------+
【问题讨论】:
-
链接行中不同的
status值是否有意义?如果不是,那么只需从依赖表中删除此列。 我有 2 个表将它们显示为完整的 CREATE TABLE 脚本。 -
说来话长,但
tbl1在tbl2之前已经被制作了,tbl2基本上只是在tbl1中包含一些product_id,其中有status= 1。长话短说,有条件tbl1中的status会被更新,所以我需要触发器,当我更新tbl1中的状态时,它也会在tbl2中自动更新相同的product_id -
哦,是的,我忘了,
tbl2在所有表格中都包含product_id,包括tbl1,所以它应该是tbl2中的另一列,以提供@987654341 所在的信息@来自,但我认为它与此案无关,因此我将其删除