60
vào bảng có cột AUTO_INCREMENT, MySQL tạo ra ID cho tự động dựa trên các thiết
lập của cột đó. có thể có được ID này bằng cách sử dụng hàm LAST_INSERT_ID.
Ví dụ: tạo ra một bảng mới để thử nghiệm được gọi là TBL. Trong bảng TBL, chúng ta
sử dụng ID là cột AUTO_INCREMENT.
CREATE TABLE tbl(
id INT AUTO_INCREMENT
NOT NULL PRIMARY KEY,
description varchar(250) NOT NULL
);
Sau đó, chúng ta sử dụng hàm LAST_INSERT_ID () để có được ID mới chèn.
INSERT INTO tbl(description)
VALUES('MySQL last_insert_id');
Thực hiện truy vấn:
SELECT LAST_INSERT_ID();
Điều quan trọng cần lưu ý rằng nếu chèn nhiều bản ghi vào bảng bằng cách sử dụng câu
lệnh INSERT duy nhất, hàm LAST_INSERT_ID sẽ trả lại giá trị tạo ra cho các bản ghi
chèn vào đầu tiên. Hãy thử các bước sau:
INSERT INTO tbl(description)
VALUES('record 1'),
('record 2'),
('record 3');
Thực hiện truy vấn:
SELECT LAST_INSERT_ID();
61
Chúng ta đã chèn 3 bản ghi bằng cách sử dụng câu lệnh INSERT và hàm
LAST_INSERT_ID trả lại ID của bản ghi đầu tiên như mong muốn. MySQL
LAST_INSERT_ID hoạt động dựa trên nguyên tắc độc lập với client. Nó có nghĩa là giá
trị được trả về bởi hàm LAST_INSERT_ID cho một client cụ thể là giá trị mà client đó
tạo ra. Điều này đảm bảo rằng mỗi client có thể nhận được ID riêng của mình mà không
cần phải quan tâm đến các hoạt động của các client khác và không cần sử dụng cơ chế
lock hay transaction (sẽ học sau).
Chia sẻ với bạn bè của bạn: