Mysql
 sql >> Base de données >  >> RDS >> Mysql

Insérer dans la base de données MYSQL s'il n'existe pas

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;

Cela empêchera en fonction du prénom, vous pouvez utiliser toutes ces colonnes pour vérifier, je suppose que la colonne correspondante doit être l'e-mail, vous pouvez l'utiliser.

Je viens d'ajouter les paramètres dans la requête pour que vous ayez une idée, utilisez la liaison de paramètres pour éviter l'injection sql.

OU

  select * from customers where .... // 

Obtenir la taille du jeu de résultats et si size > 0 cela signifie qu'il y a déjà une ligne, donc ne l'insérez pas.

Instruction SQL extraite de MySQL :Insérer un enregistrement si n'existe pas dans le tableau et modifié.