Ariston Santos Posted August 10, 2015 Report Share Posted August 10, 2015 Amigos, Estou querendo enviar o conteúdo de um DBF para uma tabela do MySQL sem repetir cadastros. O motivo é que eu já enviei o conteúdo uma vez e agora quero que grave apenas os registros novos. Como são muitos, quero que a validação seja feita via comando, para eu não ter que enviar os novos um a um. Qual comando INSERT me permite incluir apenas os registros não existentes na tabela, validando por CNPJ? Quero algo do tipo (Exemplo abaixo, não testado, apenas para demonstrar): INSERT INTO CLIENTES (CNPJ, RAZAO, FANTASIA, ENDERECO, TELEFONE) SET ('12345678000101', 'RAZAO SOCIAL 01', 'NOME FANTASIA 01', 'ENDEREÇO 01', '9 9123-9991') IF NOT EXIST CNPJ = '12345678000101' SET ('12345678000102', 'RAZAO SOCIAL 02', 'NOME FANTASIA 02', 'ENDEREÇO 02', '9 9123-9992') IF NOT EXIST CNPJ = '12345678000102' SET ('12345678000103', 'RAZAO SOCIAL 03', 'NOME FANTASIA 03', 'ENDEREÇO 03', '9 9123-9993') IF NOT EXIST CNPJ = '12345678000103' SET ('12345678000104', 'RAZAO SOCIAL 04', 'NOME FANTASIA 04', 'ENDEREÇO 04', '9 9123-9994') IF NOT EXIST CNPJ = '12345678000104' SET ('12345678000105', 'RAZAO SOCIAL 05', 'NOME FANTASIA 05', 'ENDEREÇO 05', '9 9123-9995') IF NOT EXIST CNPJ = '12345678000105' SET ('12345678000106', 'RAZAO SOCIAL 06', 'NOME FANTASIA 06', 'ENDEREÇO 06', '9 9123-9996') IF NOT EXIST CNPJ = '12345678000106' Grato. Quote Link to comment Share on other sites More sharing options...
evandro Posted August 10, 2015 Report Share Posted August 10, 2015 Olá, Use o comando REPLACE. Quote Link to comment Share on other sites More sharing options...
Ariston Santos Posted August 10, 2015 Author Report Share Posted August 10, 2015 Dá para exemplificar? Obrigado. Quote Link to comment Share on other sites More sharing options...
Luiz Fernando Posted August 10, 2015 Report Share Posted August 10, 2015 Ola Ariston, em sua tabela de cliente no mysql é só colocar no campo CNPJ o parametro UNIQUE, desta forma ao dar INSERT só sera aceito os que não tiver. Abs Quote Link to comment Share on other sites More sharing options...
evandro Posted August 10, 2015 Report Share Posted August 10, 2015 Olá, Se colocar UNIQUE não vai dar erro na query? Com REPLACE não dá. Pode-se, e deve-se, colocar parâmetro UNIQUE, só que com insert pode dar erro. Para usar o REPLACE basta substituir o INSERT. REPLACE INTO CLIENTES (CNPJ, RAZAO, FANTASIA, ENDERECO, TELEFONE).... Quote Link to comment Share on other sites More sharing options...
Ariston Santos Posted August 12, 2015 Author Report Share Posted August 12, 2015 Use o comando REPLACE. Funcionou exatamente como eu queria. Obrigado. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.