sql >> Databasteknik >  >> RDS >> Mysql

Förhindra dubbletter av SQL-poster

CREATE UNIQUE INDEX idxname ON tablename (fieldname);

Om du lägger till detta index säkerställs att inga dubbletter av poster för fieldname fältet kommer att registreras i tablename bord.

Du kommer att få ett MySQL-fel med den andra klienten. Du bör hantera detta i din PHP-kod och sätta upp formuläret igen (istället för att bara visa felmeddelandet).

En annan möjlighet (för mer komplexa situationer) är LOCK funktionalitet. Om du låser tabellen innan du kontrollerar och sedan infogar din post kommer en samtidig operation (i det andra webbläsarfönstret) att fördröjas tills du släpper låsen. Då kommer posten redan att sparas, så det andra PHP-skriptet kommer att se det och hantera läget.



  1. 5 säkerhetsfördelar med molnbaserade databasövervakningslösningar

  2. Hur skickar jag in lösenordet till pg_dump?

  3. Analysfel:syntaxfel, oväntat '' (T_ENCAPSED_AND_WHITESPACE)

  4. Ansluta en 32-bitars applikation till jBASE