Mysql
 sql >> Base de données >  >> RDS >> Mysql

Moyen approprié d'empêcher les entrées en double à l'aide de MySQL ou PHP

Vous pouvez utiliser une table temporaire. Demandez à l'application php de tout insérer dans la table temporaire, puis appelez une requête avec ce type de logique.

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

Ou vous pouvez utiliser try/catch. Je ne connais pas la syntaxe de php, mais comme de nombreux autres langages peuvent faire ce genre de choses, je m'attendrais à ce que php le soit également.

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.