[firebase-br] Attempt to store duplicate value (visible to active transactions) in unique index "***unknown***".

Sergio Nascimento sergiojampapb em gmail.com
Sex Set 9 12:24:21 -03 2011


Veja a estrutura da tabela:

CREATE TABLE ECF_CF_ITENS (
  EMP_CODIGO SMALLINT NOT NULL,
  ECF_NUMERO CHAR(3) CHARACTER SET NONE NOT NULL COLLATE NONE,
  ECF_CF_NUMERO INTEGER NOT NULL,
  ECF_ITEM SMALLINT DEFAULT 0 NOT NULL,
  PROD_CODIGO CHAR(24) CHARACTER SET NONE NOT NULL,
  ECF_CF_QTD NUMERIC(8, 3) DEFAULT 0 NOT NULL,
  ECF_CF_VLR NUMERIC(9, 3) DEFAULT 0 NOT NULL,
  ECF_TOT_PARC_CODIGO VARCHAR(7) CHARACTER SET NONE NOT NULL COLLATE NONE,
  UNID_MEDIDA_CODIGO CHAR(6) CHARACTER SET NONE COLLATE NONE,
  ECF_CF_DESCONTO NUMERIC(6, 2) DEFAULT 0,
  ECF_CF_ACRESCIMO NUMERIC(6, 2) DEFAULT '0');

ALTER TABLE ECF_CF_ITENS ADD CONSTRAINT PKECF_CF_ITENS PRIMARY KEY
(EMP_CODIGO,ECF_NUMERO,ECF_CF_NUMERO,ECF_ITEM);
ALTER TABLE ECF_CF_ITENS ADD CONSTRAINT FK_ECF_CF_ITENS_ECF_CF FOREIGN KEY
(EMP_CODIGO,ECF_NUMERO,ECF_CF_NUMERO) REFERENCES
ECF_CF(EMP_CODIGO,ECF_NUMERO,ECF_CF_NUMERO) ON DELETE CASCADE ON UPDATE
CASCADE;
ALTER TABLE ECF_CF_ITENS ADD CONSTRAINT FK_ECF_CF_ITENS_PRODUTOS FOREIGN KEY
(EMP_CODIGO,PROD_CODIGO) REFERENCES PRODUTOS(EMP_CODIGO,PROD_CODIGO);

Vejam que não há nenum indice que possa impedir a entrda do novo registro.

2011/9/9 Reijanio Nunes Ribeiro <rnribeiro em gmail.com>

> so completando se existir um index ele não vai aceitar indices de mesmo
> nome
>
> Em 9 de setembro de 2011 11:01, Reijanio Nunes Ribeiro
> <rnribeiro em gmail.com>escreveu:
>
> > vc eta inserindo um registro que ja existe na tabela, da uma olhada nos
> > dados que vc quer inserir e se um dos campos é chave primária
> >
> >
> > 2011/9/8 Sergio Nascimento <sergiojampapb em gmail.com>
> >
> >> Alguém já viu este erro ?
> >>
> >> Attempt to store duplicate value (visible to active transactions) in
> >> unique
> >> index "***unknown***".
> >> dá no seguinte comando:
> >>
> >> update OR INSERT INTO ECF_CF_ITENS (EMP_CODIGO, ECF_NUMERO,
> ECF_CF_NUMERO,
> >> ECF_ITEM, PROD_CODIGO, ECF_TOT_PARC_CODIGO, UNID_MEDIDA_CODIGO,
> >> ECF_CF_QTD,
> >> ECF_CF_VLR )
> >> values (1, '002', 004031, 3, '1', '01T1700', 'Un ', 5.000, 38.00);
> >>
> >> Já existe uma registro com o PROD_CODIGO = '1', mas com o ECF_ITEM = 2
> >>
> >> a chave primária é: (EMP_CODIGO,ECF_NUMERO,ECF_CF_NUMERO,ECF_ITEM).
> >>
> >> --
> >> Atenciosamente,
> >>
> >> Sérgio Ricardo
> >> ______________________________________________
> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >> Para saber como gerenciar/excluir seu cadastro na lista, use:
> >> http://www.firebase.com.br/fb/artigo.php?id=1107
> >> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >>
> >
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
Atenciosamente,

Sérgio Ricardo



Mais detalhes sobre a lista de discussão lista