有时候在修改某一个字段的值得时候我们需要根据当前字段的不同状态进行不同处理,
比如对于用户表,我们需要记录下来用户被访问的次数,但访问次数的初始值为 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_info2 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
不知道这个行不行,你试试,最好你的表名少用下划线
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)