1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[PHP+MySql] Erro: Duplicate Entry

Discussão em 'Web Development' iniciada por nasic, 21 de Março de 2009. (Respostas: 3; Visualizações: 1870)

  1. nasic

    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
     
  2. geoblast

    geoblast Power Member

    O «crime» está no "Unique". Vai dar estouro sempre que tentares inserir um duplicado. Ser queres registos duplicados, tens que o retirar.
     
  3. nasic

    nasic Power Member

    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
     
  4. holografix

    holografix Power Member

    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
     

Partilhar esta Página