获取最后一个inserterd行mysql

时间:2017-11-04 17:16:22

标签: mysql database-trigger

我有两个表作业 class_users ,我从中获取数据以填充表 assigned_users 。我在下面的分配表中添加了插入后触发器:

INSERT INTO assigned_users
(assignment_id, user_id) 
SELECT a.new.uniqueid, c.user_id
FROM assignment a inner join class_users c on a.class_id = c.class_id;

我想从任务表中的每次插入中获取 uniqueid 列并将其插入到assigned_users中。

注意表格 class_users 已填充。

使用单个表我可以做到,但是通过表连接它有点令人困惑。

1 个答案:

答案 0 :(得分:0)

我不明白为什么你需要在这里加入。 assignment表中的新行中的数据可以通过NEW别名访问(a.new.uniqueid应该只是new.uniqueid)。您只需从class_users表中选择相关行:

INSERT INTO assigned_users (assignment_id, user_id) 
SELECT new.uniqueid, c.user_id
FROM class_users c 
WHERE c.class_id = new.class_id;