Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách tiêu chuẩn để lấy id chèn cuối cùng là gì?

Xem câu trả lời này Truy xuất ID hàng đã chèn trong SQL

Tóm lại, không có cách cơ sở dữ liệu chéo nào để thực hiện điều này, ngoại trừ MAX (ID) - nhưng đó không phải là kết quả được đảm bảo và có nhiều cạm bẫy, ví dụ:

  • các lần chèn khác có thể nằm giữa lần chèn cuối cùng và truy vấn tối đa
  • không thể được sử dụng với các bảng giao dịch cao (tối đa sẽ phát hành khóa đọc, các phương thức dành riêng cho rdbms không đọc từ bất kỳ bảng nào)

Tiêu chuẩn ANSI liên quan đến danh tính / autonumber / auto_increment / sequences xuất hiện lần đầu tiên trong SQL:2003 đang chờ triển khai bởi tất cả các RDBMS chính. Nó rất có thể sẽ giống với chuỗi Oracle / PostgreSQL.

Một thay đổi khác trong SQL:2003 là OUTPUT USING CLAUSE nhưng có rất ít thông tin về nó. Sybase và SQL Server đã làm những việc khác nhau với nó, vì vậy vẫn chưa rõ nó sẽ hoạt động như thế nào. SQL Server triển khai nó dưới dạng

Đã chèn
INSERT INTO TBL(..)
OUTPUT inserted.identity_col
INTO @sometablevar
VALUES(..)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sắp xếp dữ liệu sản phẩm từ nhiều bảng trong MySQL

  2. Điều kiện NẾU Thực hiện Truy vấn, Khác Thực hiện Truy vấn Khác

  3. Giám sát hiệu quả MySQL với SCUMM Dashboards:Part One

  4. Làm cách nào để kiểm tra xem MySQL và Tomcat có đang chạy hay không?

  5. script (while-loop) dừng và không có lỗi khi nhiều cột được chọn