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

Indsæt i MYSQL-databasen, hvis den ikke findes

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;

Dette forhindrer baseret på fornavnet, du kan bruge alle disse kolonner til kontrol, jeg antager, at den matchende kolonne skal være e-mail, det kan du bruge.

Jeg har lige tilføjet parametrene i forespørgslen, så du kan få en idé, brug parameterbinding for at undgå sql-injektion.

ELLER

  select * from customers where .... // 

Få størrelsen på resultatsættet og hvis size > 0 det betyder, at der allerede er en række, så indsæt den ikke.

SQL-sætning taget fra MySQL:Indsæt post hvis findes ikke i tabellen og modificeret.



  1. Adgang nægtet, når rails forbindes til Mysql

  2. Hvordan kan jeg hente en liste over parametre fra en lagret procedure i SQL Server

  3. R RMySQL-forespørgsel deformerer japanske tegn

  4. PHP oci_connect() TNS:kunne ikke løse forbindelses-id'et (ORA-12154)