mysql字段接触发器 请问如何实现mysql的字段级触发器。 就是当一行记录中的某个字段更新了则执行语句,其他字段更新不执行。 找了很久也没找到语法。知道的麻烦告诉我一下,谢谢了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 MySQL中触发器是行级的,只能在触发器中自行判断。if new.columnName != old.columnName then通过这种方式来确定是否执行相应的代码。 这种情况下,如果我update xx set name= name,那不就判断不出来了? 用这中方式判断,只有当我原来的字段不为空的时候,更新该字段的值才会触发sql语句。 原来的字段为空,或者 把原来不为空的字段设为空值都不会触发sql语句。 这是为什么呢? 应该怎么该,谢谢。 对于空,你可以用 <=> 比较符。if not(new.columnName <=> old.columnName) thenmysql> select null<=>null,null<=>1,1<=>1;+-------------+----------+-------+| null<=>null | null<=>1 | 1<=>1 |+-------------+----------+-------+| 1 | 0 | 1 |+-------------+----------+-------+1 row in set (0.52 sec)mysql>对于update xx set name= name值没有变化的,则比较麻烦。不知道有没有什么好办法 我现在要监控该字段,只要它更新我就执行sql语句,但是如果它更新的值相同,那我就没办法判断了,这种情况还有办法吗? old.f1=new.f1有两种情况:1、没有更新;2、有更新,值是一样的。字段中的值不变化,是判断不出来是属于哪种情况的 对于update xx set name= name值没有变化的,则比较麻烦。不知道有没有什么好办法 能想到的方法就是监控mysql的日志,这样你可以知道什么时候,执行了什么SQL语句。 好吧,为什么mysql没有字段级触发器呢 真是郁闷了。 查询数据时让表格字段自动增加 多表数据的统计,怎么做效率高? 这样创建数据表有问题嘛? mysql 存储过程中 如何用变量表示 表名 cent0s 5.3该下载哪个版本的 mysql安装文件比较合适 本地数据库。如果从网络上访问? 我刚装了mysql 可是在测试MySQL工作是否正常的时候遇到了问题 我知道这不属于这个版块 可是我现在很急啊 这个版块人气又很旺 请教以下代码那里有问题,谢谢!! 请教一个查询并分类的语句 关于数据库定时备份的问题 mysql触发器的问题 cygwin上成功安装了postgresql,但不知道怎么用psql
if new.columnName != old.columnName then通过这种方式来确定是否执行相应的代码。
mysql> select null<=>null,null<=>1,1<=>1;
+-------------+----------+-------+
| null<=>null | null<=>1 | 1<=>1 |
+-------------+----------+-------+
| 1 | 0 | 1 |
+-------------+----------+-------+
1 row in set (0.52 sec)mysql>对于update xx set name= name值没有变化的,则比较麻烦。不知道有没有什么好办法
我现在要监控该字段,只要它更新我就执行sql语句,但是如果它更新的值相同,那我就没办法判断了,这种情况还有办法吗?
有两种情况:
1、没有更新;
2、有更新,值是一样的。
字段中的值不变化,是判断不出来是属于哪种情况的