获取最后插入的行 mysql

Get the last inserterd row mysql

我有两个 tables assignmentclass_users 我正在从中获取数据填充 table assigned_users。我将下面的 after insert 触发器添加到 assignment table:

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;

我想从 assignment table 的每次插入中获取 uniqueid 列并将其插入 assigned_users.

注意 table class_users 它已经填充了。

用一个table我可以做到,但是用table加入它有点混乱。

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

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;