MySQL在使用外键插入触发器之前

时间:2019-12-06 02:10:12

标签: mysql database triggers dml

假设我有表A和表B,其中表A的主键是表B的外键。表A是具有两个可能值的枚举类。但是,填充表B的列取决于来自表A的外键的值。例如,如果外键是“ x”,则仅填充列1,3,5。如果外键改为“ y”,则填充的列为2,4。这些列在表B中。这些未填充的列将具有NULL值。使用触发器的语法是什么?这是每个表格的示例。

表A:

+-------+
| Type  | 
+-------+
| x     |  
| y     |  
+-------+

这里的主键是Type

表B:

+-------+-------------+------+-----+---------+------+---------+ 
| Id    | col1        | col2 | col3| col4    | col5 |Type     | 
+-------+-------------+------+-----+---------+----------------+ 
| 12    | val1        | NULL | val3| NULL    | val5 |   x     | 
| 54    | NULL        | val2 |NULL | val4    | NULL |    y    | 
+-------+-------------+------+-----+---------+----------------+ 

其中Type是外键。

示例insert语句:

INSERT INTO B VALUES('13','val1', 'val2 ', 'val3', 'val4', 'val5','x')

表B的主键为Id,并且该值始终是唯一的。

0 个答案:

没有答案