触发器如下:
|
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> |