Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Rails memvalidasi keunikan gagal pada input bersamaan

Ini sangat jarang terjadi dan Anda mungkin sangat tidak beruntung karena hal itu, mungkin saja.

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

Pertimbangkan hal berikut:Pengguna A mengirimkan formulir

  • Pengguna A mengirimkan formulir
  • Rails memeriksa database untuk ID yang ada untuk Pengguna A- tidak ada yang ditemukan
  • Pengguna B mengirimkan formulir
  • Rails memeriksa database untuk ID yang ada untuk Pengguna B- tidak ada yang ditemukan
  • Rel Menyimpan catatan pengguna
  • Rel menyimpan data pengguna B

Semua ini harus terjadi dalam milidetik tetapi secara teknis mungkin.

Saya sarankan menambahkan batasan di tingkat basis data (kunci utama).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara membuat MESIN MEMORI mysql menyimpan lebih banyak data?

  2. Bagaimana saya bisa menggunakan baris pernyataan mySQL SELECT IF untuk BERGABUNG dengan tabel lain?

  3. cara mendapatkan baris berbeda dengan nilai maksimal

  4. RMySQL dbWriteTable dengan field.types

  5. Pilih beberapa tabel ketika satu tabel kosong di MySQL