Mysql触发器处理本表数据
来源:Asp之家 时间:2010-10-25 19:56:00
关于Mysql的触发器,基本上每个Mysql教程里都有讲到,但是我发现那些教程里讲的都是如何处理其他表的数据。在Mysql中写触发器操作本表的列数据时,它的写法与操作其他表列的数据是不一样的。
我写了一个触发器,它的作用是在插入数据前,如果列name的字符串中含有”-”(中划线),则替换为” “(空格)。
错误的代码:
delimiter |
create trigger replaceGangcn
before insert on dept
for each row
begin
update dept set name = replace(new.name,’-',’ ‘);
end
|
delimiter ;
执行后,触发器成功使用到表dept上,但是当我向表中插入数据时,Mysql却提示:
ERROR 1442 (HY000): Can’t update table ‘dept’ in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
不是很明白这个错误信息的含义。不过我知道了一点,Mysql的触发器在处理本表的数据时只需使用New.列名直接操作即可,而不要用update声明。上面那段代码改成如下这样即可:
delimiter |
create trigger replaceGangcn
before insert on dept
for each row
begin
set new.name = replace(new.name,’-',’ ‘);
end
|
delimiter ;
标签:mysql,表,数据
0
投稿
猜你喜欢
新版php study根目录下文件夹无法显示的图文解决方法
2023-11-15 00:44:29
python画微信表情符的实例代码
2022-01-09 07:06:40
Python3里的super()和__class__使用介绍
2022-06-27 09:29:35
Docker同时安装MySQL和MariaDB的方法步骤
2024-01-27 06:51:32
Springboot项目对数据库用户名密码实现加密过程解析
2024-01-19 23:02:04
用python修改excel表某一列内容的操作方法
2022-01-22 20:51:29
浅谈 Webpack 如何处理图片(开发、打包、优化)
2024-06-14 20:48:11
MySQL慢查询日志的作用和开启
2024-01-21 20:23:33
浅谈使用Python变量时要避免的3个错误
2022-06-20 21:07:07
python mac下安装虚拟环境的图文教程
2021-11-02 23:35:21
用Python实现爬取百度热搜信息
2023-12-28 22:22:20
小程序开发之uniapp引入iconfont图标以及使用方式
2024-04-22 13:09:05
第二篇Bootstrap起步
2024-04-16 08:59:36
Java基于正则表达式实现的替换匹配文本功能【经典实例】
2023-03-15 22:27:44
sql语句中临时表使用实例详解
2024-01-15 22:39:11
Python实现人脸识别并进行视频跟踪打码
2022-08-04 22:57:25
Win10下配置VScode远程开发ssh-remote(免密登录)
2022-07-17 23:01:13
Django压缩静态文件的实现方法详析
2023-06-15 05:31:33
AXObject解决IE需要激活 ActiveX 控件方法
2007-11-08 12:16:00
对python 中re.sub,replace(),strip()的区别详解
2022-07-17 21:33:03