您好,UncleToo欢迎您!  为了更好的浏览本站,请使用高版本浏览器
RSS  Tag     设为首页 | 加入收藏
 您所在的位置:首页 > 数据库技术 > MySQL

MySQL:在insert触发器里如何update当前数据

作者:未知  来源:转载  日期:2015-06-07 19:38:06
收藏  评论:( 0 )  阅读:415

今天在学习MySQL触发器时遇到了一个问题:

为activities表创建一个insert触发器,初始化一些数据

CREATE DEFINER=`root`@`localhost` TRIGGER `initActivities`
BEFORE INSERT ON `activities` FOR EACH ROW
update activities set activities_date = NOW() where activities_id = new.activities_id;

插入数据时,出现以下错误:

MySQL:在insert触发器里如何update当前数据

上网百度了一下,原来是当你对本表设置update/insert触发器时,不能对本表进行update/insert操作,因为会造成循环的调用,应该使用set操作,而不是在触发器里使用 update,解决方法如下:

CREATE DEFINER=`root`@`localhost` TRIGGER `initActivities`
BEFORE INSERT ON `activities` FOR EACH ROW
set new.activities_date = NOW();



除非特别声明,本站所有PHP教程及其他教程/文章均为原创、翻译或网友投稿,版权均归UncleToo中文网所有, 转载请注明作者及出处。
原文网址:http://www.uncletoo.com/html/mysql/1124.html
读完这篇文章后,你是否有所收获? 分享是一种生活的信念!
  • 0
  • 0
我来说两句
更多>>网友评论