一张表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
解决方案 »
- debian启动mysql报错
- 创建表分区的问题
- mysql同一连接多线程问题
- mysql workbench为何无法远程连接数据库?
- mysql中delete语句出错,求解
- mysql用navicat8恢复数据库出现乱码,紧急求助啊!
- 紧急求助!为何联不上远程的MYSQL服务器?(高人请进,比效难)
- MySQL5.0发布了,官方网站下载版本太多,不知用哪个才对?
- mysql和vb间的连接字符串是什么?大家一般都用什么界面工具查询数据库
- JSP+MYSQL 显示数据排序的问题 不管以where字段来选择显示,都能数据表按123456。求教
- 怎样在MYSQL_RES中获得指定行的数据?
- 请教,谁有MySQL API开发经验?
这是MYSQL本身的限制。你想实现的功能是什么?为会更新一条记录,如果它的A是0,则把全表中的所有记录的B都设置为OK?
set NEW.B='OK'
如果是所有C相同的都需要更新,则你只能在程序中实现这个功能了,MYSQL中有限制。
要改成before UPDATE