SELECT max(employeeid) FROM Employee;
Truy vấn trên trả về giá trị của employeeid
trong tổng số bản ghi được chèn gần đây nhất trong bảng Nhân viên vì employeeid
là một cột tăng tự động. Điều này có vẻ ổn, nhưng giả sử có hai chuỗi đang thực hiện thao tác chèn đồng thời, có khả năng bạn nhận được sai id của bản ghi được chèn lần cuối!
Đừng lo lắng, MySQL cung cấp một hàm trả về giá trị của cột tăng tự động của bản ghi được chèn lần cuối.
SELECT LAST_INSERT_ID();
LAST_INSERT_ID()
luôn kết nối cụ thể , điều này có nghĩa là ngay cả khi thao tác chèn được thực hiện đồng thời từ các kết nối khác nhau, nó luôn trả về giá trị của hoạt động cụ thể của kết nối hiện tại.
Vì vậy, trước tiên bạn phải chèn bản ghi trong bảng Nhân viên, chạy truy vấn trên để nhận giá trị id và sử dụng giá trị này để chèn vào bảng thứ hai.