如何确定哪个列涉及"值太长,类型字符变化"?

Ste*_*ead 6 postgresql sql-insert

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

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

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

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

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

Ste*_*ead 3

非常感谢@Tometzky,他的评论为我指明了正确的方向。

我没有在事后尝试确定哪一列导致了问题而是修改了 Python 脚本以确保在插入数据库之前该值被截断。

  1. 使用访问表的架构select column_name, data_type, character_maximum_length from information_schema.columns where table_name='test'

  2. 构建 INSERT 语句时,使用架构定义来识别字符字段并在必要时截断