如何设置触发器以将user_id复制到另一个表

时间:2019-03-16 00:59:30

标签: mysql sql phpmyadmin

我需要phpmyadmin中的2个表的触发器。

我有两个名为usersgroup_has_users的表。表group_has_users具有2个值,分别为group_iduser_id

我正在尝试创建一个触发器,当在group_has_users表中创建新用户时(其中user_id设置为users,该触发器自动将新数据插入group_id的{​​{1}}表中1

如何使用phpmyadmin触发器执行此操作?

insert into group_has_users (user_id) values (new.user_id);

我不知道将1设置为group_id。

2 个答案:

答案 0 :(得分:0)

我想这就是你想要的:

delimiter $$

create trigger after_insert_users
after insert on users 
for each row begin

if new.group_id = 1 then

insert into group_new_users (user_id) values (new.user_id);

end if;

end $$
delimiter ;

请注意,您将必须在cli或mysql workbench

中运行它

答案 1 :(得分:0)

每次在表users中创建一条新记录时,您都希望在group_has_users中自动创建一条新记录,默认group_id1

考虑以下触发器:

DELIMITER //
CREATE TRIGGER users_after_insert
AFTER INSERT ON users FOR EACH ROW
BEGIN
    INSERT INTO group_has_users(group_id, user_id) VALUES(1, NEW.user_id);
END;
//

Demo on DB Fiddle

DELIMITER //

CREATE TABLE users (user_id int)//   
CREATE TABLE group_has_users (group_id int, user_id int)//

CREATE TRIGGER users_after_insert
AFTER INSERT ON users FOR EACH ROW
BEGIN
    INSERT INTO group_has_users(group_id, user_id) VALUES(1, NEW.user_id);
END;
//

INSERT INTO users(user_id) values(1);

SELECT * FROM group_has_users;

| group_id | user_id |
| -------- | ------- |
| 1        | 1       |