我需要phpmyadmin中的2个表的触发器。
我有两个名为users
和group_has_users
的表。表group_has_users
具有2个值,分别为group_id
和user_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。
答案 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_id
为1
。
考虑以下触发器:
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;
//
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 |