Olá pessoal,
Estou tentando importar um arquivo CSV.
Na minha tabela destino eu tenho uma CONSTRAINT:
ALTER TABLE dm.billables
ADD CONSTRAINT uc_billable_code_unique_per_account
UNIQUE("account_id", "code");
O meu arquivo CSV contém dados duplicados no campo "code"
'Interpreting Normal/AH''Interpreting Normal/AH''Interpreting
Normal/AH''Interpreting Normal/AH''Interpreting
Normal/AH4''Interpreting Normal/AH''Interpreting
Normal/AH6''Interpreting Normal/AH'
Então quando tento importar, obviamente recebo o erro a baixo:
ERROR: duplicate key value violates unique constraint
"uc_billable_code_unique_per_account"
DETAIL: Key ("account_id", "code")=(32152, 'Interpreting Normal/AH')
already exists.
Comando usado: (Criei uma tabela temporária)
INSERT INTO dm.billables (SELECT billable_id, code, info FROM temptable)
Copiando direto do arquivo CSV:
COPY dm.billables (code, info, unit_cost, unit_price, account_id) FROM
'/var/lib/pgsql/sql/lucas/charge_test.csv' WITH DELIMITER ',' QUOTE
'"' CSV HEADER;
Então tendo em mente o erro, eu presumo que tenho duas opcões:
*1 -* DROP CONSTRAINT - Importo os dados e gero um campo random mas unique
na coluna "code"
*2 -* Ao importar para a nova tabela já faco isso gerando um UUID novo para
a coluna "code"
* Não tem problemas em alterar o campo "code" - Já que o mesmo possuí link
> com outra tabela..
** Não posso alterar o meu insert data - Já que hoje o PHP já faz este
> servico de gerar um value random mas unique - Ou seja.. o cliente pode ter
> campos duplicados na coluna "code" porque é linkada com outra tabela. Mas
> na coluna code há um campo do tipo:
> code_321525694417ad6b5f - *Gerado pelo PHP*
Como posso fazer isto tudo?
*COMO ESTÁ AGORA:*
COLUMN CODE | COLUMN
INFO'Interpreting Normal/AH'
Travel1'Interpreting Normal/AH1'
trip2'Interpreting Normal/AH2'
test897'Interpreting Normal/AH3'
trip11'Interpreting Normal/AH4' trave1
*COMO DEVE FICAR:*
COLUMN CODE | COLUMN INFO
code_32152563bdc6453645 Travel1
code_32152563bdc4566hhh trip2
code_32152563b654645uuu test897
code_32152563bdc4546uui trip11
code_32152563bdc4db11aa trave1
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral