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

Sự cố với MySql INSERT MAX () + 1

Bạn có thể sử dụng một cái gì đó như sau:

INSERT INTO users (user_id, name)
SELECT 1 + coalesce((SELECT max(user_id) FROM users WHERE name='Bob'), 0), 'Bob';

Nhưng truy vấn như vậy có thể dẫn đến tình trạng chạy đua. Đảm bảo rằng bạn đang tham gia một giao dịch và bạn khóa bảng người dùng trước khi chạy nó. Nếu không, bạn có thể kết thúc với hai Bob có cùng số.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn giá trị hex vào MySql

  2. Làm thế nào chúng ta có thể khác nhau giữa LEFT OUTER JOIN và Left Join

  3. Vị trí của máy khách mysql .my.cnf trong XAMPP cho Windows là gì?

  4. Tránh bế tắc MySQL khi nâng cấp được chia sẻ lên khóa độc quyền

  5. Cách nhập dữ liệu từ mysql sang solr