Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Truy cập dòng vừa chèn (last inserted row) trong MySQL

Nếu cột dùng AUTO_INCREMENT, hàm LAST_INSERT_ID() trả về ID của dòng vừa chèn.

Cú pháp:

SELECT LAST_INSERT_ID();

Tạo bảng:

mysql> CREATE TABLE LastInsertedRow (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> UserName VARCHAR(20),
    -> UserAge INT
    -> );

Chèn 6 dòng:

mysql> INSERT INTO LastInsertedRow(UserName, UserAge) VALUES('John', 23), ('Carol', 24), ('Bob', 24), ('Larry', 26), ('Maxwell', 27), ('David', 22);

Hiển thị dữ liệu:

+----+----------+---------+
| Id | UserName | UserAge |
+----+----------+---------+
|  1 | John     |      23 |
|  2 | Carol    |      24 |
|  3 | Bob      |      24 |
|  4 | Larry    |      26 |
|  5 | Maxwell  |      27 |
|  6 | David    |      22 |
+----+----------+---------+

Lấy ID vừa chèn:

mysql> SELECT LAST_INSERT_ID();

Kết quả: 6

Lấy toàn bộ dòng vừa chèn:

mysql> SELECT * FROM LastInsertedRow WHERE Id = (SELECT LAST_INSERT_ID());

Kết quả:

+----+----------+---------+
| Id | UserName | UserAge |
+----+----------+---------+
|  6 | David    |      22 |
+----+----------+---------+