sql >> Database >  >> RDS >> Mysql

Invoegen in MYSQL-database als deze niet bestaat

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;

Dit voorkomt op basis van de voornaam, je mag al deze kolommen gebruiken om te controleren, ik neem aan dat de overeenkomende kolom e-mail moet zijn, dat kun je gebruiken.

Ik heb zojuist de parameters in de query toegevoegd om een ​​idee te krijgen, gebruik parameterbinding om sql-injectie te voorkomen.

OF

  select * from customers where .... // 

Verkrijg de grootte van de resultatenset en als size > 0 dat betekent dat er al een rij is, dus voeg deze niet in.

Sql-instructie overgenomen van MySQL:record invoegen als bestaat niet in tabel en gewijzigd.



  1. Navigeer van App A naar App B met dezelfde inloggegevens - APEX 19.2

  2. Wat is het doel van $CONDITIONS onder --query?

  3. tsvector ondersteunt alleen Engels?

  4. Vervang een woord in BLOB-tekst door MySQL