MySQL LAST_INSERT_ID

Giới thiệu về LAST_INSERT_ID trong MySQL

Trong MySQL, LAST_INSERT_ID() là một hàm được sử dụng để lấy giá trị của ID mới nhất được tự động sinh ra bởi một câu lệnh INSERT. Hàm này rất hữu ích trong các tình huống khi bạn cần thực hiện các thao tác tiếp theo với bản ghi vừa được thêm vào cơ sở dữ liệu, đặc biệt là khi bạn sử dụng các khóa chính tự động tăng (auto-increment).

Cú pháp của LAST_INSERT_ID

Cú pháp của hàm LAST_INSERT_ID là rất đơn giản:

LAST_INSERT_ID();

Hàm này không nhận tham số nào và trả về giá trị số nguyên của ID được sinh ra cuối cùng trong session hiện tại.

Ví dụ sử dụng LAST_INSERT_ID

Dưới đây là một số ví dụ thực tế để minh họa cách sử dụng hàm LAST_INSERT_ID trong MySQL.

Ví dụ 1: Lấy ID sau khi thêm bản ghi

-- Giả sử bạn có một bảng tên là 'users'
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL
);

-- Thêm một bản ghi vào bảng 'users'
INSERT INTO users (name) VALUES ('Nguyễn Văn A');

-- Lấy ID của bản ghi vừa thêm
SELECT LAST_INSERT_ID();

Khi bạn chạy câu lệnh SELECT LAST_INSERT_ID(); sau khi thực hiện câu lệnh INSERT, nó sẽ trả về ID của bản ghi 'Nguyễn Văn A' vừa mới được thêm vào.

Ví dụ 2: Sử dụng trong một phiên làm việc

-- Thêm một bản ghi khác
INSERT INTO users (name) VALUES ('Trần Thị B');

-- Lấy ID của bản ghi vừa thêm
SET @last_id = LAST_INSERT_ID();

-- Thực hiện một thao tác khác với ID vừa lấy
SELECT * FROM users WHERE id = @last_id;

Trong ví dụ này, bạn không chỉ lấy ID mà còn có thể sử dụng nó trong các câu lệnh khác để truy vấn hoặc thao tác với dữ liệu.

Kết luận

Hàm LAST_INSERT_ID trong MySQL là một công cụ mạnh mẽ giúp bạn quản lý và làm việc với các ID tự động tăng một cách hiệu quả. Bằng cách sử dụng hàm này, bạn có thể đảm bảo rằng các thao tác của bạn với cơ sở dữ liệu luôn chính xác và đồng bộ nhất.