sql >> Databasteknik >  >> RDS >> Mysql

Infoga i MYSQL-databasen om den inte finns

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;

Detta kommer att förhindra baserat på förnamnet, du kan använda alla dessa kolumner för att kontrollera, jag antar att den matchande kolumnen ska vara e-post, du kan använda det.

Jag har precis lagt till parametrarna i frågan för att du ska få en idé, använd parameterbindning för att undvika sql-injektion.

ELLER

  select * from customers where .... // 

Få storleken på resultatuppsättningen och om size > 0 det betyder att det redan finns en rad, så infoga den inte.

SQL-sats hämtad från MySQL:Infoga post om finns inte i tabellen och modifierad.



  1. CAST() Funktion i Oracle

  2. Schemadesign för när användare kan definiera fält

  3. Kan jag skicka ett nummer för varchar2 i Oracle?

  4. hur man kontrollerar att frågan använder index