AN
Integrity constraint violation 1062 duplicate entry
Bom dia pessoal!
Pessoal, em meu sistema faço a leitura de códigos de barras de produtos para gerar uma lista de produtos da venda (checkout). Porém, percebo que, quando dois usuários (em PCs diferentes) fazem uma leitura de código de barras quase que simultaneamente, em um dos dois PCs aparece a seguinte mensagem: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'xxxxxx' for key 'PRIMARY'.
Bom, pesquisei esse erro e vi que muitas pessoas conseguiram resolver esse problema apenas checando na tabela do BD se a coluna de chave primária estava como auto increment. Verifiquei a minha, e realmente não estava como AI, então fiz essa alteração para AI, mas mesmo assim o erro persiste.
Obrigado!
Pessoal, em meu sistema faço a leitura de códigos de barras de produtos para gerar uma lista de produtos da venda (checkout). Porém, percebo que, quando dois usuários (em PCs diferentes) fazem uma leitura de código de barras quase que simultaneamente, em um dos dois PCs aparece a seguinte mensagem: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'xxxxxx' for key 'PRIMARY'.
Bom, pesquisei esse erro e vi que muitas pessoas conseguiram resolver esse problema apenas checando na tabela do BD se a coluna de chave primária estava como auto increment. Verifiquei a minha, e realmente não estava como AI, então fiz essa alteração para AI, mas mesmo assim o erro persiste.
Obrigado!
Bom dia!
Aurélio você está usando a classe TRecord, para fazer a inserção dos dados, se sim o IDPOLICY está configurado com serial?
Bom dia Helton! Uso a classe TRecord, e o IDPOLICY está configurado com max.
Aurélio configura esse campo como serial, max verifica o último id e soma mais um, já o serial deixa a inserção do id por conta do bd.
Certo. Vou fazer isso. Mas não entendo do porque que antes estava dando esse erro, já que na classe está como max, e no bd estava sem A_I. Daí alterei no bd para A_I, e deixei como max, mas ainda assim continua o erro. Agora vou trocar para serial e observar se irá continuar o erro.
Utilizando o max não será levado em consideração o AI e sim o maior valor mais um, no caso do serial fica por conta do bd