Mysql
 sql >> база данни >  >> RDS >> Mysql

Rails валидира уникалността неуспешно при едновременни входове

Това е много необичайно и вероятно нямате късмет, че е така, възможно е.

Прочетете:https://github.com/rails/rails/blob/master/activerecord/lib/active_record/validations/uniqueness.rb#L165

Помислете за следното:Потребител А изпраща формуляр

  • Потребител А изпраща формуляр
  • Rails проверява базата данни за съществуващ идентификатор за потребител A – не е намерен
  • Потребител Б изпраща формуляр
  • Rails проверява базата данни за съществуващ идентификатор за потребител B – не е намерен
  • Rails запазва запис на потребител A
  • Rails запазва запис на потребител B

Всичко това трябва да се случи в рамките на милисекунди, но е технически възможно.

Бих предложил да добавите ограничение на ниво база данни (първичен ключ).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DAYNAME() Примери – MySQL

  2. Прехвърляне на данни между MySQL и Oracle бази данни

  3. Задържане на множество елементи в колона на mysql

  4. Може ли външен ключ да препраща към неуникален индекс?

  5. Как лесно да импортирате множество sql файлове в MySQL база данни?