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

Rails xác thực tính duy nhất không thành công trên các đầu vào đồng thời

Điều này rất không phổ biến và có lẽ bạn rất không may mắn khi nó mắc phải, điều này hoàn toàn có thể xảy ra.

Đọc: https://github.com/rails/rails/blob/master/activerecord/lib/active_record/validations/uniqueness.rb#L165

Hãy xem xét những điều sau:Người dùng A gửi biểu mẫu

  • Người dùng A gửi biểu mẫu
  • Rails kiểm tra cơ sở dữ liệu để tìm ID hiện có cho Người dùng A- không tìm thấy ID nào
  • Người dùng B gửi biểu mẫu
  • Rails kiểm tra cơ sở dữ liệu để tìm ID hiện có cho Người dùng B- không tìm thấy mã nào
  • Rails Lưu một bản ghi của người dùng
  • Rails lưu bản ghi B của người dùng

Tất cả điều này phải xảy ra trong vòng mili giây nhưng về mặt kỹ thuật thì nó có thể xảy ra.

Tôi khuyên bạn nên thêm một ràng buộc ở cấp cơ sở dữ liệu (khóa chính).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhóm OHLC-Dữ liệu thị trường chứng khoán thành nhiều khung thời gian - Mysql

  2. PDO ::rowCount VS COUNT (*)

  3. CHỌN TRƯỜNG HỢP KHI THÌ (CHỌN)

  4. MySQL chỉ trong tháng hiện tại?

  5. Truy vấn MySQL thực thi nhưng ném ngoại lệ