[PHP+MySql] Erro: Duplicate Entry

nasic

Power Member
Boas!
Tenho uma base de dados criada no MySql. Através do PHP vou inserindo dados numa tabela X. O script pode tentar fazer inserts de dados que já existam. Até aqui tudo bem, o que acontece é que é lançado um erro no meu site e a inserção de dados pára assim que insiro um dado repetido.

Como posso ignorar este erro e continuar a inserir?
Bem sei que posso fazer a verificação antes de inserir mas penso que exista uma forma mais correcta.

Mais alguma info:
Na tabela X tenho alguns campos, eis os que potencialmente interessam para o caso:
Id - Primary Key e Auto-Increment;
Hash - Unique.

Obrigado desde já:D
 
Boas!
Tenho uma base de dados criada no MySql. Através do PHP vou inserindo dados numa tabela X. O script pode tentar fazer inserts de dados que já existam. Até aqui tudo bem, o que acontece é que é lançado um erro no meu site e a inserção de dados pára assim que insiro um dado repetido.

Como posso ignorar este erro e continuar a inserir?
Bem sei que posso fazer a verificação antes de inserir mas penso que exista uma forma mais correcta.

Mais alguma info:
Na tabela X tenho alguns campos, eis os que potencialmente interessam para o caso:
Id - Primary Key e Auto-Increment;
Hash - Unique.

Obrigado desde já:D

O «crime» está no "Unique". Vai dar estouro sempre que tentares inserir um duplicado. Ser queres registos duplicados, tens que o retirar.
 
Pois eu sei que o "Unique" é que provoca o erro. Mas intenção era mesmo não ter registos duplicados.

Parece que vou ter que verificar primeiro.
Obrigado pela ajuda geoblast
 
Viva

Tens aqui uma solução que te permite inserir os registos sem teres de verificar se já existem.

INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;

Mais informação aqui

Cumps,
holo
 
Back
Topo