mysql触发器update实例(帮忙写一个 mysql update 触发器)

:暂无数据 2026-06-29 20:50:02 :0

mysql触发器update实例(帮忙写一个 mysql update 触发器)

大家好,关于mysql触发器update实例很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于帮忙写一个 mysql update 触发器的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

本文目录

帮忙写一个 mysql update 触发器

1 DROP TRIGGER IF EXISTS t_update_on_st_shop_info;

2 CREATE TRIGGER t_update_on_st_shop_info

3 UPDATE ON st_shop_info

4 FOR EACH ROW

5 BEGIN

6 UPDATE st_shop_info SET open_flg=1 where shop_indate》0;
7 INSERT INTO st_shop(shop_id) VALUES (new.st_shop_info_shop_id);
8 END;

不知道这个行不行,你试试,最好你的表名少用下划线

mysql 触发器 if 语句 update

@sqlz =’select asd from flkg’;
EXECUTE(@sqlz);

----------
首先,mysql下动态语句不是这样写的,另外,触发器里不能允许返回结果集的.

这里我是希望他能中断更新!
---------------------
你的意思是不是要中断后面的
“
SET amount =@amountmm
WHERE CODE=new.code AND whcode = new.whcode ;
“
这部分?

如果是的话,那这样改下:

DELIMITER $$

USE `eerp`$$

DROP TRIGGER /*!50032 IF EXISTS */ `material_update`$$

CREATE TRIGGER `material_update` AFTER UPDATE ON `sf_material`
FOR EACH ROW BEGIN

IF new.auditing = ’Y’ THEN
SET @amountmm = (SELECT amount-new.amount FROM warehouse WHERE CODE=new.code AND whcode = new.whcode);
IF @amountmm 》=0 THEN
UPDATE warehouse
SET amount =@amountmm
WHERE CODE=new.code AND whcode = new.whcode ;
END IF ;
END IF;
END;
$$

DELIMITER ;

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
“我是要中断更新。。不是后面。。。严格说就是这个表sf_material更新和后面的那个表warehouse更新也一起中断!“
---------------------------------------------------------------
因为mysql下触发器内不支持rollback,所以,变换一个方式来处理,如下:
那触发器部分这么写(注意:一定要使表TB_error_rollback在你的库中不允许存在):

CREATE TRIGGER `material_update`
BEFORE UPDATE
ON `sf_material`
FOR EACH ROW
BEGIN
IF new.auditing = ’Y’ THEN
SET @amountmm = (SELECT amount- new.amount FROM warehouse WHERE CODE=new.code AND whcode = new.whcode);
IF @amountmm 《0 THEN
update TB_error_rollback set name=1;
END IF;
UPDATE warehouse
SET amount =@amountmm
WHERE CODE=new.code AND whcode = new.whcode;
END IF;
END;

mysql 触发器 update

有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。
1. check table 和 repair table
登陆mysql 终端:
mysql -uxxxxx -p dbname
check table tabTest;
如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:
repair table tabTest;
进行修复,修复之后可以在用check table命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。
2. myisamchk, isamchk
其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:
myisamchk tablename.MYI
进行检测,如果需要修复的话,可以使用:
myisamchk -of tablename.MYI
关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。
-----------------------------
另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:
[ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。
需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!检测修复所有数据库(表)

mysql update 触发器

我在我本地测试没有问题喔,你看:

mysql》 create table tb_11(id int,name varchar(20));
Query OK, 0 rows affected (0.01 sec)

mysql》 create table t11(id int,intime datetime);
Query OK, 0 rows affected (0.00 sec)

mysql》 drop trigger if exists tr_name11;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql》 delimiter //
mysql》 create trigger tr_name11
-》 before update
-》 on tb_11
-》 for each row
-》 begin
-》 if new.id=1 then
-》 update tb_uuuu set name=1;/*一定要确认表tb_uuuu在库中不存在*/
-》 end if;
-》 insert into t11 values(11,now());
-》 end;
-》 //
Query OK, 0 rows affected (0.00 sec)

mysql》 insert into tb_11 values(1,’gg’);
-》 //
Query OK, 1 row affected (0.00 sec)

mysql》 insert into tb_11 values(2,’gg’);
-》 //
Query OK, 1 row affected (0.00 sec)

mysql》 delimiter ;
mysql》 select * from tb_11;
+------+------+
| id | name |
+------+------+
| 1 | gg |
| 2 | gg |
+------+------+
2 rows in set (0.00 sec)

mysql》 update tb_11 set name=’hehe’ where id=2;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql》 select * from tb_11;
+------+------+
| id | name |
+------+------+
| 1 | gg |
| 2 | hehe |
+------+------+
2 rows in set (0.00 sec)

mysql》 select * from t11;
+------+---------------------+
| id | intime |
+------+---------------------+
| 11 | 2010-08-05 17:23:01 |
+------+---------------------+
1 row in set (0.00 sec)

mysql》 update tb_11 set name=’hehe’ where id=1;
ERROR 1146 (42S02): Table ’wei.tb_uuuu’ doesn’t exist
mysql》 select * from tb_11;
+------+------+
| id | name |
+------+------+
| 1 | gg |
| 2 | hehe |
+------+------+
2 rows in set (0.00 sec)

mysql》 select * from t11;
+------+---------------------+
| id | intime |
+------+---------------------+
| 11 | 2010-08-05 17:23:01 |
+------+---------------------+
1 row in set (0.00 sec)

mysql》

如果你还想了解更多这方面的信息,记得收藏关注本站。

mysql触发器update实例(帮忙写一个 mysql update 触发器)

本文编辑:admin

更多文章:


python语言程序设计是什么(python语言是什么)

python语言程序设计是什么(python语言是什么)

各位老铁们好,相信很多人对python语言程序设计是什么都不是特别的了解,因此呢,今天就来为大家分享下关于python语言程序设计是什么以及python语言是什么的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月15日 12:00

windows程序设计第五版(《WINDOWS程序设计》和《WINDOWS核心编程》的区别)

windows程序设计第五版(《WINDOWS程序设计》和《WINDOWS核心编程》的区别)

本篇文章给大家谈谈windows程序设计第五版,以及《WINDOWS程序设计》和《WINDOWS核心编程》的区别对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了

2026年10月15日 11:30

issued retroactively(FORM E上盖“ISSUED RETROACTIVELY”的问题,小女在线等待)

issued retroactively(FORM E上盖“ISSUED RETROACTIVELY”的问题,小女在线等待)

各位老铁们,大家好,今天由我来为大家分享issued retroactively,以及FORM E上盖“ISSUED RETROACTIVELY”的问题,小女在线等待的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站

2026年10月15日 10:30

f发音是什么?printf的返回值是什么

f发音是什么?printf的返回值是什么

大家好,关于f很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于f发音是什么的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月15日 10:10

begin和start的区别(start与begin的区别)

begin和start的区别(start与begin的区别)

其实begin和start的区别的问题并不复杂,但是又很多的朋友都不太了解start与begin的区别,因此呢,今天小编就来为大家分享begin和start的区别的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月15日 09:20

vant官网中文(范特365 是韩国化妆品VANT36.5吗)

vant官网中文(范特365 是韩国化妆品VANT36.5吗)

大家好,今天小编来为大家解答以下的问题,关于vant官网中文,范特365 是韩国化妆品VANT36.5吗这个很多人还不知道,现在让我们一起来看看吧!

2026年10月15日 09:10

特殊字符是指什么?正则表达式中一些特殊字符的用法

特殊字符是指什么?正则表达式中一些特殊字符的用法

大家好,特殊字符相信很多的网友都不是很明白,包括特殊字符是指什么也是一样,不过没有关系,接下来就来为大家分享关于特殊字符和特殊字符是指什么的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

2026年10月15日 08:10

特殊符号网名大全花样符号(特殊符号昵称有哪些)

特殊符号网名大全花样符号(特殊符号昵称有哪些)

本篇文章给大家谈谈特殊符号网名大全花样符号,以及特殊符号昵称有哪些对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月15日 07:30

prison break(越狱(prison break)到底是在讲个什么)

prison break(越狱(prison break)到底是在讲个什么)

各位老铁们好,相信很多人对prison break都不是特别的了解,因此呢,今天就来为大家分享下关于prison break以及越狱(prison break)到底是在讲个什么的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看

2026年10月15日 06:50

c程序设计第五版教学视频(求C程序设计(第五版)谭浩强教材源代码、视频课件等电子版资料!谢谢大家!)

c程序设计第五版教学视频(求C程序设计(第五版)谭浩强教材源代码、视频课件等电子版资料!谢谢大家!)

各位老铁们,大家好,今天由我来为大家分享c程序设计第五版教学视频,以及求C程序设计(第五版)谭浩强教材源代码、视频课件等电子版资料!谢谢大家!的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动

2026年10月15日 06:40

最近更新

热门文章

标签列表