sql >> Database >  >> RDS >> Mysql

Goede manier om dubbele invoer te voorkomen met MySQL of PHP

Je zou een tijdelijke tabel kunnen gebruiken. Laat de php-app alles invoegen in de temp-tabel en roep dan een query op met dit soort logica.

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

Of je kunt proberen/vangen gebruiken. Ik ken de php-syntaxis niet, maar aangezien veel andere talen dit soort dingen kunnen doen, zou ik verwachten dat php dat ook zou kunnen.

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.


  1. Door MySQL opgestelde instructies met een variabelenlijst met variabele grootte

  2. Dynamische update-instructie met variabele kolomnamen

  3. MySQL INSERT werkt correct zoals gedocumenteerd

  4. Gegevensmodel autoreparatiewerkplaats