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

Предотвратете дублиране на SQL записи

CREATE UNIQUE INDEX idxname ON tablename (fieldname);

Добавянето на този индекс ще гарантира, че няма дублиращи се записи за fieldname полето ще бъде записано в tablename таблица.

Ще получите грешка в MySQL с втория клиент. Трябва да се справите с това във вашия PHP код и да поставите формуляра отново (вместо просто да показвате съобщението за грешка).

Друга възможност (за по-сложни ситуации) е LOCK функционалност. Ако заключите таблицата, преди да проверите и след това вмъкнете своя запис, едновременната операция (във втория прозорец на браузъра) ще бъде забавена, докато не освободите ключалките. Тогава записът вече ще бъде запазен, така че вторият PHP скрипт ще го вижда и се справете със ситуацията.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вземете първата и последната дата на следващия месец в MySQL

  2. разделен със запетая аргумент за IN оператор, MySQL

  3. Не мога да инсталирам mysql2 gem на macOS Sierra

  4. MySQL ограничен диапазон

  5. рекурсивна самостоятелна заявка