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

Dành riêng các ID tăng tự động mySQL?

Cách duy nhất để tạo giá trị tăng tự động là thử chèn. Nhưng bạn có thể khôi phục giao dịch đó và vẫn đọc id đã tạo. Trong MySQL 5.1 trở lên, hành vi mặc định là các giá trị tự động tăng không được "trả lại" cho ngăn xếp khi bạn quay trở lại.

START TRANSACTION;
INSERT INTO mytable () VALUES ();
ROLLBACK;
SELECT LAST_INSERT_ID() INTO @my_ai_value;

Bây giờ bạn có thể chắc chắn rằng không có giao dịch nào khác sẽ cố gắng sử dụng giá trị đó, vì vậy bạn có thể sử dụng nó trong các quy trình bên ngoài của mình và cuối cùng chèn một giá trị theo cách thủ công sử dụng giá trị id đó (khi bạn chèn một giá trị id cụ thể, MySQL không tạo một giá trị mới).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các truy vấn liên quan đến hiệu suất Phalcon

  2. ĐẶT HÀNG tùy chỉnh BẰNG để bỏ qua 'the'

  3. Cách thiết kế hệ thống kiểm soát truy cập dựa trên vai trò phân cấp

  4. PyMySQL trả về giá trị cũ / ảnh chụp nhanh / không chạy lại truy vấn?

  5. Phân biệt giữa 'không có hàng nào bị ảnh hưởng' và các hàng CẬP NHẬT thành công - đến cùng một giá trị (MySQL và PHP)