Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Inserir no banco de dados MYSQL se não existir

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;

Isso impedirá com base no primeiro nome, você pode usar todas essas colunas para verificação, suponho que a coluna correspondente deve ser email, você pode usar isso.

Acabei de adicionar os parâmetros dentro da consulta para você ter uma ideia, use a vinculação de parâmetros para evitar injeção de sql.

OU
  select * from customers where .... // 

Obtenha o tamanho do conjunto de resultados e se size > 0 isso significa que já existe uma linha, então não a insira.

Instrução Sql extraída de MySQL:Insert record if não existe na tabela e modificado.