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

Làm cách nào để tạo một chuỗi trong MySQL?

Đây là giải pháp đề xuất bởi Hướng dẫn sử dụng MySQl :

Nếu expr được đưa ra làm đối số cho LAST_INSERT_ID (), giá trị của đối số sẽ được hàm trả về và được ghi nhớ là giá trị tiếp theo sẽ được trả về bởi LAST_INSERT_ID (). Điều này có thể được sử dụng để mô phỏng các câu lệnh:

Tạo một bảng để chứa bộ đếm tuần tự và khởi tạo nó:

    mysql> CREATE TABLE sequence (id INT NOT NULL);
    mysql> INSERT INTO sequence VALUES (0);

Sử dụng bảng để tạo các số thứ tự như sau:

    mysql> UPDATE sequence SET id=LAST_INSERT_ID(id+1);
    mysql> SELECT LAST_INSERT_ID();

Câu lệnh UPDATE làm tăng bộ đếm trình tự và thực hiện lệnh gọi tiếp theo tới LAST_INSERT_ID () để trả về giá trị đã cập nhật. Câu lệnh TheSELECT truy xuất giá trị đó. Chức năng API mysql_insert_id () C cũng có thể được sử dụng để nhận giá trị. Xem Phần 23.8.7.37, “mysql_insert_id ()”.

Bạn có thể tạo chuỗi mà không cần gọi LAST_INSERT_ID (), nhưng khả năng sử dụng hàm theo cách này là giá trị ID được duy trì trong máy chủ như giá trị được tạo tự động cuối cùng. An toàn cho nhiều người dùng vì nhiều khách hàng có thể đưa ra câu lệnh CẬP NHẬT và nhận giá trị trình tự của riêng họ bằng câu lệnh SELECT (hoặc mysql_insert_id ()), mà không ảnh hưởng hoặc bị ảnh hưởng bởi các khách hàng khác tạo giá trị trình tự của riêng họ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LỖI 1130 (HY000):Máy chủ '' không được phép kết nối với máy chủ MySQL này

  2. CHỌN COUNT () so với mysql_num_rows ();

  3. Làm cách nào để lấy tên tất cả các cột cho tất cả các bảng trong MySQL?

  4. Có thể thực thi kiểm tra dữ liệu trong MySQL bằng biểu thức chính quy không

  5. Tạo tập lệnh bash giám sát truy vấn MySQL