MySQL触发器更新本表数据异常:Can't update table 'tbl' in stored function/trigger because it

博客分类: 数据库
MySQLJava
如果你在触发器里面对刚刚插入的数据进行了 insert/update, 则出现这个问题。因为会造成循环的调用. Java代码 收藏代码
create trigger test
before update on tablename
for each row
update tablename set NEW.content = '' where id=NEW.ID;
END 应该使用set操作,而不是在触发器里使用 update,比如 Java代码 收藏代码
create trigger test
before update on tablename
for each row
set NEW.content = '';
END 接下来,根据我的应用进行描述一下:
我的需求是表A插入一条数据,同步到表B。同步之后,更新表A的某个字段。
Java代码 收藏代码
DELIMITER $$
CREATE
TRIGGER triggername BEFORE INSERT
ON tableA
FOR EACH ROW BEGIN
insert into tableB(content) values(new.content);
set new.content='';
END$$
DELIMITER ;

MySQL触发器更新本表数据异常:Can't update table 'tbl' in stored function/trigger because it的更多相关文章

  1. MySQL - 问题集 - 触发器更新本表数据异常"Can’t update table ‘tbl’ in stored function/trigger because it is already used by statement which invoked this"

    如果你在触发器里面对刚刚插入的数据进行了 insert/update, 则出现这个问题.因为会造成循环的调用. create trigger test before update on test fo ...

  2. MySql Error: Can't update table in stored function/trigger

    MySql Error: Can't update table in stored function/trigger because it is already used by statement w ...

  3. mysql 导出表结构和表数据 mysqldump用法

    mysql 导出表结构和表数据 mysqldump用法 命令行下具体用法如下:   mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名; 导出整个数据库结构和数据mysq ...

  4. MySQL 中国省市区SQL表数据

    MySQL 中国省市区SQL表数据   1.查省SELECT * FROM china WHERE china.Pid=02.查市SELECT * FROM chinaWHERE china.Pid= ...

  5. MySQL用sql复制表数据到新表的方法

    用sqlyog无法直接复制出一个不同表名的表来,只能copy到其他库上同名的表. 在MySQL数据库中,应该如何用sql将表数据复制到新表中呢? 本人通过试验测试成功了,而且相当简单易懂,速度也非常快 ...

  6. mysql left join 右表数据不唯一的情况解决方法

    mysql left join 右表数据不唯一的情况解决方法 <pre>member 表id username1 fdipzone2 terry member_login_log 表id ...

  7. MySQL触发器更新和插入操作

    一.触发器概念 触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动 ...

  8. SQL Server 远程更新目标表数据

    分享一个远程更新目标库数据的存储过程,适用于更新列名一致,主键为Int类型,可远程链接的数据库. ** 温馨提示:如需转载本文,请注明内容出处.** 本文连接:http://www.cnblogs.c ...

  9. mysql 清空或删除表数据后,控制表自增列值的方法

    http://blog.sina.com.cn/s/blog_68431a3b0100y04v.html 方法1: truncate table 你的表名 //这样不但将数据全部删除,而且重新定位自增 ...

随机推荐

  1. C/C++控制台输出时设置字体及背景颜色

    1.改变整个控制台的颜色用 system("color 0A"); 其中color后面的0是背景色代号,A是前景色代号.各颜色代码如下: 0=黑色 1=蓝色 2=绿色 3=湖蓝色  ...

  2. 通过命名管道协议方式访问群集SQL的一个小问题

    原来的单机实例SQL如果开放命名管道协议访问可以在.Net程序的连接字符串中增加“;Net=dbnmpntw"以通过命名管道协议方式访问,但是当迁移到群集SQL后,.net通过它可能无法正常 ...

  3. linux面试题目—2

    linux面试题目—2 二 选择题 1.关闭linux系统(不重新启动)可使用命令 B . A Ctrl+Alt+Del B halt C shutdown -r now D reboot 2.实现从 ...

  4. ActionError,ActionMessage推荐

    尽管Struts框架供给了管用的失常处理机制,但不能保证处理所有的讹谬,这时Struts框架会把讹谬抛给Web容器,在默认情形下Web容器会向用户博览器直接归来原始消息.万一想避免直接让用户看到这些原 ...

  5. ylbtech-LanguageSamples-Hello World

    ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-Hello World 1.A,示例(Sample) 返回顶部 “Hello World ...

  6. all-oone-data-structure(好)

    哈哈,我用了HashMap, 双向链表,还有了HashSet来保存key的集合. 现在这道题目还只有 9.3%的AC率,难度为HardTotal Accepted: 9 Total Submissio ...

  7. mysql之事件的开启和调用

    1.检测事件是否开启 mysql> show variables like 'event_scheduler';+-----------------+-------+| Variable_nam ...

  8. 数组类型参数传递问题:$.ajax传递数组的traditional参数传递必须true

    数组类型参数传递: 若一个请求中包含多个值,如:(test.action?tid=1&tid=2&tid=3),参数都是同一个,只是指定多个值,这样请求时后台会发生解析错误,应先使用 ...

  9. Git 思想和工作原理

    从根本上来讲,Git是一个内容寻址文件系统,并在此之上提供了一个版本控制系统的用户界面,它是一个非常强大且易用的工具,理解Git的工作原理,能够帮助我们更容易学习和使用Git. 本文不会像书籍里那样, ...

  10. Spring 自定义配置类bean

    <!-- 引入配置文件 --> <bean id="propertyConfigurer" class="org.springframework.bea ...