Hàm LAST_INSERT_ID trong MySQL

Trong bài này mình sẽ hướng dẫn cách sử dụng hàm LAST_INSERT_ID trong MySQL thông qua cú pháp và ví dụ thực tế.

1. Mô tả

Hàm LAST_INSERT_ID trả về giá trị AUTO_INCREMENT đầu tiên được đặt bởi câu lệnh INSERT hoặc UPDATE gần đây nhất đã ảnh hưởng đến cột AUTO_INCREMENT.

2. Cú pháp

Cú pháp của hàm LAST_INSERT_ID trong MySQL là:

LAST_INSERT_ID( [expression] )

3. Version

Hàm LAST_INSERT_ID có thể được sử dụng trong các phiên bản sau của MySQL:

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

4. Ví dụ

Ví dụ chúng ta có bảng SinhVien, có cột mssv là AUTO_INCREMENT

CREATE TABLE SinhVien 
( mssv INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
  ten VARCHAR(100) NOT NULL,
  noisinh VARCHAR(200) );

Dữ liệu của bảng SinhVien như sau:

mssv ten noisinh
1 Nguyen Van A Thoi Binh - Ca Mau
2 Nguyen Van B Vi Thuy - Hau Giang
3 Nguyen Van C Quan 3 - Ho Chi Minh
4 Nguyen Van D Ninh Kieu - Can Tho

Chúng ta thêm 1 dòng mới vào bảng SinhVien

INSERT INTO SinhVien
(ten, noisinh)
VALUES
('Nguyen Van E', 'Cai Nuoc -  Ca Mau');

Kết quả sau khi thêm 1 dòng mới:

mssv ten noisinh
1 Nguyen Van A Thoi Binh - Ca Mau
2 Nguyen Van B Vi Thuy - Hau Giang
3 Nguyen Van C Quan 3 - Ho Chi Minh
4 Nguyen Van D Ninh Kieu - Can Tho
5 Nguyen Van E Cai Nuoc - Ca Mau

Chúng ta thực thi hàm LAST_INSERT_ID(), kết quả như sau:

mysql> SELECT LAST_INSERT_ID();
Ket qua: 5

 

Nguồn: freetuts.net