Dùng hàm LAST_INSERT_ID() ngay sau câu INSERT.
Tạo bảng
mysql> CREATE TABLE LastInsertRecordIdDemo (
-> Id INT AUTO_INCREMENT,
-> Value VARCHAR(100),
-> PRIMARY KEY(Id)
-> );
Query OK, 0 rows affected (0.52 sec)
Chèn và lấy ID
mysql> INSERT INTO LastInsertRecordIdDemo VALUES(1,'Low'); Query OK, 1 row affected (0.10 sec) mysql> INSERT INTO LastInsertRecordIdDemo VALUES(LAST_INSERT_ID(),'High'); Query OK, 1 row affected (0.11 sec)
mysql> SELECT * FROM LastInsertRecordIdDemo;
+----+-------+ | Id | Value | +----+-------+ | 1 | Low | | 2 | High | +----+-------+ 2 rows in set (0.00 sec)
Tiếp tục chèn với LAST_INSERT_ID()+1
mysql> INSERT INTO LastInsertRecordIdDemo VALUES(LAST_INSERT_ID()+1,'Medium'); Query OK, 1 row affected (0.08 sec)
mysql> SELECT * FROM LastInsertRecordIdDemo;
+----+--------+ | Id | Value | +----+--------+ | 1 | Low | | 2 | High | | 3 | Medium | +----+--------+ 3 rows in set (0.00 sec)
Lưu ý: LAST_INSERT_ID() trả về ID auto_increment của câu INSERT gần nhất trong session hiện tại. An toàn cho multi-user.