mysql 触发器 if 语句update怎么 *** 作?

mysql 触发器 if 语句update怎么 *** 作?,第1张

有时候在修改某一个字段的值得时候我们需要根据当前字段的不同状态进行不同处理,

比如对于用户表,我们需要记录下来用户被访问的次数,但访问次数的初始值为 null。

如下:

CREATE TABLE `test` (

`id`  int(11) NULL DEFAULT NULL ,

`name`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,

`visit_num`  int(11) NULL DEFAULT NULL

)

我们就可以使用如下的 sql 进行判断和修改

UPDATE test set visit_age=if(visit_num is null,1,visit_num+1) where id=1。

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

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7226299.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存