Это действительно заняло у меня некоторое время, чтобы обрести голову, хе-хе.
CREATE TRIGGER after_user_insert
AFTER insert ON user
FOR EACH ROW
insert into student(user_id) SELECT (user_id) FROM user
WHERE new.account_type LIKE 'student' ORDER BY user_id DESC LIMIT 1;
РЕЗУЛЬТАТ:
Схема (MySQL v8.0)
**Query #1**
SELECT * FROM user;
| user_id | account_type |
| ------- | ------------ |
| 1 | student |
| 2 | student |
| 3 | not |
| 4 | student |
| 5 | student |
| 6 | not |
| 7 | not |
| 8 | student |
---
**Query #2**
SELECT * FROM student;
| student_id | user_id |
| ---------- | ------- |
| 1 | 1 |
| 2 | 2 |
| 3 | 4 |
| 4 | 5 |
| 5 | 8 |
---
Посмотреть этот рабочий пример на DB Fiddle
Я не эксперт, и я делаю это для развлечения, поэтому кто-то, пожалуйста, поправьте меня, если я ошибаюсь. Я считаю, что вы не можете иметь как без выбора. Как и LAST_INSERT_ID (). И я забыл в процессе этого, что было не так с ключами, но здесь, очевидно, было несколько вещей не так. Я ДУМАЮ.
Я бы тоже не отказался от второго мнения по поводу моего запроса. Но насколько я проверял, это правильно.
Надеюсь, это поможет.