你的想法很重要-大家都来谈 (C)Copyright 2012 by WeiPt

mysql触发器

触发器如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DELIMITER $$
 
USE `sep_hsedb`$$
 
DROP TRIGGER /*!50032 IF EXISTS */ `trgAddPost`$$
 
CREATE
    /*!50017 DEFINER = 'root'@'%' */
    TRIGGER `trgAddPost` AFTER INSERT ON `position`
    FOR EACH ROW BEGIN
     DECLARE uds VARCHAR(255);
     SET uds=new.userids;
    UPDATE USER SET user.`post_id`=NEW.`post_id`,user.`post`=NEW.`post_name` WHERE FIND_IN_SET(id,uds);
    END;
$$
 
DELIMITER ;

看点一、mysql怎么写触发器

看点二、就是in条件语句的问题,大家知道,in 后面是(value1,value2,...),我们有个字段已经存了id列表,但是把字段列表写进去是不支持的。

1
UPDATE USER SET user.`post_id`=NEW.`post_id`,user.`post`=NEW.`post_name` WHERE in (uds);<br>这里要用的FIND_IN_SET这个函数
1
FIND_IN_SET(字段名,多个值组成的字符串)
1
<br><br>
posted @   weipt  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)

你的想法很重要-大家都来谈 (C)Copyright 2012 by WeiPt
点击右上角即可分享
微信分享提示