mysql在insert触发器里update当前数据
2015-06-07 12:55
525 查看
今天在学习触发器时遇到了一个问题:
为activities表创建一个insert触发器,初始化一些数据
插入数据时,出现以下错误:
上网百度了一下,原来是当你对本表设置update/insert触发器时,不能对本表进行update/insert操作,因为会造成循环的调用,应该使用set操作,而不是在触发器里使用 update,解决方法如下:
为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;
插入数据时,出现以下错误:
上网百度了一下,原来是当你对本表设置update/insert触发器时,不能对本表进行update/insert操作,因为会造成循环的调用,应该使用set操作,而不是在触发器里使用 update,解决方法如下:
CREATE DEFINER=`root`@`localhost` TRIGGER `initActivities` BEFORE INSERT ON `activities` FOR EACH ROW set new.activities_date = NOW();
相关文章推荐
- MySQL中的integer 数据类型
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- SQL中的三值逻辑
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- SQL Server 作业批量停止
- 结束SQL阻塞的进程
- 动态生成SQL Server视图作业
- SQL Server 语句操纵数据库
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列