讨教一个mysql触发器的问题

MySql 码拜 8年前 (2016-02-17) 1002次浏览
例如本人有表table1,内有A,B,C 3个字段。
触发器在执行insert操作时,可以进行set new.A=”VALUE”;
现在假如本人要不论A,B,C哪个字段,只要字段值为‘上海’,则改为021
需求扩展,假如本人有table2,table3.只要有字段值为‘上海’,则更新值为‘021‘
问一下可以实现不?
解决方案

3

设计的好混乱  后面乱加逻辑越来越乱  不如重新来设计表结构

10

LZ你好,
触发器是自动完成某些操作的,但是有触发条件,你需要的那个操作严格来说不是触发器的范畴,但是可以用存储过程来实现,遍历数据,只要字段值为‘上海’,则改为021,很方便。

9

这个最好在应用里控制。
假如用触发器来做,每次增加数据的时候,就检查一下数据的字段,能否包含了 特殊文字,有就修改

9

引用 6 楼 casney2 的回复:
Quote: 引用 3 楼 yupeigu 的回复:

这个最好在应用里控制。
假如用触发器来做,每次增加数据的时候,就检查一下数据的字段,能否包含了 特殊文字,有就修改

实际情况比较复杂。想问检查数据字段的时候,可以遍历表中全部的字段吗?

当然可以,但是这样性能上会有问题。假如以后有新的字段,那也的修改代码,很麻烦。

9

每个表中添加相对的INSERT, UPDATE触发器。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明讨教一个mysql触发器的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)