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

更多文章:


dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)

dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)

本篇文章给大家谈谈dropdownlist 绑定,以及DropDownList 绑定所有项 并 显示指定项对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月11日 08:50

协方差计算公式(协方差的计算公式)

协方差计算公式(协方差的计算公式)

这篇文章给大家聊聊关于协方差计算公式,以及协方差的计算公式对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 08:10

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

本篇文章给大家谈谈易语言网页api接口怎么调用,以及易语言,怎么读取网页json的api对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月11日 08:00

majority of(the majority of 和 a majority of的区别以及用法例句)

majority of(the majority of 和 a majority of的区别以及用法例句)

这篇文章给大家聊聊关于majority of,以及the majority of 和 a majority of的区别以及用法例句对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 07:40

汉字机内码查询表(1个汉字的机内码是几位谢谢)

汉字机内码查询表(1个汉字的机内码是几位谢谢)

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

2026年10月11日 07:20

promote翻译(英语翻译倡导怎么说)

promote翻译(英语翻译倡导怎么说)

其实promote翻译的问题并不复杂,但是又很多的朋友都不太了解英语翻译倡导怎么说,因此呢,今天小编就来为大家分享promote翻译的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 06:30

用手机如何导航?开车用手机导航哪个软件最好

用手机如何导航?开车用手机导航哪个软件最好

今天给各位分享用手机如何导航的知识,其中也会对用手机如何导航进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 06:20

多线程技术有什么用(多线程有什么作用)

多线程技术有什么用(多线程有什么作用)

其实多线程技术有什么用的问题并不复杂,但是又很多的朋友都不太了解多线程有什么作用,因此呢,今天小编就来为大家分享多线程技术有什么用的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 05:40

another time(another time和other time的区别)

another time(another time和other time的区别)

大家好,another time相信很多的网友都不是很明白,包括another time和other time的区别也是一样,不过没有关系,接下来就来为大家分享关于another time和another time和other time的区

2026年10月11日 05:00

java开发工具包jdk(JDK是什么意思)

java开发工具包jdk(JDK是什么意思)

其实java开发工具包jdk的问题并不复杂,但是又很多的朋友都不太了解JDK是什么意思,因此呢,今天小编就来为大家分享java开发工具包jdk的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 04:50

最近更新

repercussions(都是余波,repercussions和aftermath有什么区别啊)
2026-10-11 09:00:05 浏览:0
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026-10-11 08:50:04 浏览:0
majority of(the majority of 和 a majority of的区别以及用法例句)
2026-10-11 07:40:02 浏览:0
热门文章

标签列表