一张表X A B C 3列 C为主键
如果某行A 列中的数据 为0 则该行B列中的数据 设为"OK"这样的的触发器 应该怎么做
请高手指点。自己做的 但是出错了
CREATE TRIGGER userManagerPass AFTER UPDATE ON 员工信息管理表
FOR EACH ROW BEGIN
IF NEW.A='0' THEN
update X
set B='OK'
WHERE
`X`.`C` = new.C;
end if;
end错误信息如下
1442 Can*t update table x in stored functions/trigger because it is already be use by
statement which invoked the stored function / triggers
如果某行A 列中的数据 为0 则该行B列中的数据 设为"OK"这样的的触发器 应该怎么做
请高手指点。自己做的 但是出错了
CREATE TRIGGER userManagerPass AFTER UPDATE ON 员工信息管理表
FOR EACH ROW BEGIN
IF NEW.A='0' THEN
update X
set B='OK'
WHERE
`X`.`C` = new.C;
end if;
end错误信息如下
1442 Can*t update table x in stored functions/trigger because it is already be use by
statement which invoked the stored function / triggers
解决方案 »
- Delphi+MySQL执行查询报Commands out of sync; you can't run this command now
- 问个关于innodb模糊的总数
- 谁帮我把下面的sql server的语句换成支持mysql的
- Mysql 5.0 数据导入Mysql 4.1 数据库解决方法
- 为什么我导入到mysql里面中文显示不出来,显示的是“????”
- 求一解决方法,急,
- mysql哪个版本支持视图,稳定性怎么样??
- 一个比较难的复杂查询语句,请教高手如何写
- mysql的group by的问题
- MySql 实现ROW_NUMBER()
- 怎样在MYSQL_RES中获得指定行的数据?
- 请教,谁有MySQL API开发经验?
这是MYSQL本身的限制。你想实现的功能是什么?为会更新一条记录,如果它的A是0,则把全表中的所有记录的B都设置为OK?
set NEW.B='OK'
如果是所有C相同的都需要更新,则你只能在程序中实现这个功能了,MYSQL中有限制。
要改成before UPDATE