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

Modo corretto per prevenire voci duplicate utilizzando MySQL o PHP

Potresti usare una tabella temporanea. Fai in modo che l'app php inserisca tutto nella tabella temporanea e quindi chiami una query con questo tipo di logica.

insert into mainTable 
(field1, field2, etc)
select field1, field2, etc
from tempTable 
where (subquery to check for existing records goes here)

Oppure potresti usare try/catch. Non conosco la sintassi di php, ma poiché molte altre lingue possono fare questo genere di cose, mi aspetto che lo sia anche php.

try
code to insert record
catch
if the error code is the one for duplicate records, do nothing.
if it's something else, handle it accordingly.