如何确定哪个列与"值的关系太长,类型字符变化"?

时间:2016-04-08 06:36:22

标签: postgresql sql-insert

我使用Python和psycopg以编程方式将数据添加到PostgreSQL表中 - 这很好。

有时候,包含列的文本值太长,所以我收到消息:

  

错误:类型字符变化的值太长(1000)

其中数字是违规列的宽度。

有没有办法确定哪个列导致错误? (除了比较每列的长度以查看它是否为1000)

1 个答案:

答案 0 :(得分:1)

我认为没有一种简单的方法。

我试图在psql中设置VERBOSITY,因为我认为这会有所帮助,但遗憾的是没有(在9.4上):

psql
\set VERBOSITY verbose
dbname=>  create temporary table test (t varchar(5));
CREATE TABLE
dbname=> insert into test values ('123456');
ERROR:  22001: value too long for type character varying(5)
LOCATION:  varchar, varchar.c:623

这可能是值得在邮件列表上进行讨论的内容,如you are not the only one with this problem