Mysql
 sql >> Datenbank >  >> RDS >> Mysql

In MYSQL-Datenbank einfügen, falls nicht vorhanden

INSERT INTO  Customers (FirstName, Address, Phone) 
SELECT * FROM (SELECT '$firstName', '$address', '$phone') AS tmp
WHERE NOT EXISTS (
    SELECT FirstName from Customers WHERE FirstName= '$firstName'
)   LIMIT 1;

Dies wird anhand des Vornamens verhindern, dass Sie alle diese Spalten zur Überprüfung verwenden können. Ich nehme an, die passende Spalte sollte E-Mail sein, das können Sie verwenden.

Ich habe nur die Parameter innerhalb der Abfrage hinzugefügt, damit Sie sich ein Bild machen können. Verwenden Sie die Parameterbindung, um SQL-Einschleusung zu vermeiden.

ODER

  select * from customers where .... // 

Holen Sie sich die Größe der Ergebnismenge und ob size > 0 das bedeutet, dass es bereits eine Zeile gibt, also fügen Sie sie nicht ein.

SQL-Anweisung aus MySQL:Datensatz einfügen, wenn existiert nicht in der Tabelle und modifiziert.