Inserção MySQL quando o registro não existe:
Exemplo: Inserir vários registros
Suponha que exista uma tabela de clientes com a chave primária client_id Você pode usar a seguinte instrução:
INSERT INTO clients
(client_id, client_name, client_type)
SELECT fornecedor_id, fornecedor_nome, 'publicidade. '
FROM fornecedores
WHERE não existe (selecione * de clientes
onde clientes.client_id = fornecedores.supplier_id
Exemplo: Inserir um único registro
);
INSERT INTO clients
(client_id, client_name, client_type)
SELECT 10345, 'IBM', 'advertising'
FROM dual
WHERE not exist (selecione * from clients
where
clients.client_id = 10345);
a instrução select segue diretamente os valores dos campos a serem inseridos, mesmo que esses valores ainda não existam na tabela atual.