Mysql
 sql >> Database >  >> RDS >> Mysql

Impedisci voci SQL duplicate

CREATE UNIQUE INDEX idxname ON tablename (fieldname);

L'aggiunta di questo indice assicurerà che non vi siano voci duplicate per fieldname il campo verrà registrato in tablename tabella.

Otterrai un errore MySQL con il secondo client. Dovresti gestirlo nel tuo codice PHP e riattivare il modulo (invece di visualizzare semplicemente il messaggio di errore).

Un'altra possibilità (per le postazioni più complesse) è il LOCK funzionalità. Se blocchi la tabella prima di controllare e poi inserisci il tuo record, un'operazione simultanea (nella seconda finestra del browser) verrà ritardata fino al rilascio dei blocchi. Quindi il record sarà già salvato, quindi il secondo script PHP lo vedrà e gestisci la posizione.