在插入触发器事件之前获取未截断的数据

时间:2016-08-10 09:10:05

标签: mysql

我有一个带有字段varchar(20)的数据库表A.我有另一个表B与字段varchar(60)。执行Insert语句时字符数大于20.我尝试在表A上设置一个insert insert触发器并将原始值(可能大于20)添加到表B.但即使在before insert触发器中,我也得到截断值(只是前20个字符)。有什么办法可以在表B中添加超过20个字符的值,并且在表A中有前20个字符。

  • 表A不能更改为varchar(60)
  • 无法直接将数据插入表B(仅触发)

1 个答案:

答案 0 :(得分:0)

我建议你在表A中添加单独的列。所以你将拥有column1 varchar(60)和column1_short(20),并在触发器column1中使用它来将数据传播到表B. 在我看来,你无法从原始插入值中获取插入触发器的值,只需访问已更改值的NEW。