sql >> Databáze >  >> RDS >> Mysql

Zabránit duplicitním záznamům SQL

CREATE UNIQUE INDEX idxname ON tablename (fieldname);

Přidáním tohoto indexu zajistíte, že nebudou žádné duplicitní položky pro fieldname pole bude zaznamenáno do tablename tabulka.

U druhého klienta se zobrazí chyba MySQL. Měli byste to zpracovat ve svém kódu PHP a vložit formulář znovu (místo zobrazení pouze chybové zprávy).

Další možností (pro složitější situace) je LOCK funkčnost. Pokud před kontrolou uzamknete tabulku a poté vložíte svůj záznam, souběžná operace (ve druhém okně prohlížeče) bude zpožděna, dokud zámky neuvolníte. Poté bude záznam již uložen, takže jej uvidí druhý PHP skript a zvládnout situaci.



  1. Jak získat rok a měsíc z data v MySQL

  2. Migrace z databáze Oracle na MariaDB – hluboký ponor

  3. mohu věřit, že mysql_insert_id() vrátí správnou hodnotu, vícevláknová paranoia

  4. jak obnovit pohotovostní databázi z chybějícího archivního protokolu