gpt4 book ai didi

sql - Postgres 将字符变化视为整数

转载 作者:行者123 更新时间:2023-11-29 13:17:06 27 4
gpt4 key购买 nike

我在数据类型character varying 的关系模式中有一列。虽然该列是character varying,但我一直在插入integer 类型的数据,直到我真正需要输入character varying 类型的数据时才意识到错误。这是我得到的错误

insert into my_table(bad_column) values ('bad column');  

Error: invalid input syntax for integer: "bad column".

可能是什么问题?我已经通过运行下面的代码确认了该列的数据类型,它实际上返回了不同的字符

select pg_typeof(bad_column) FROM my_table limit 10 

最佳答案

你应该检查表定义是否有检查约束,例如

create table test(bad_column varchar check (bad_column::int > 0));
insert into test (bad_column) values ('a text');

ERROR: invalid input syntax for integer: "a text"

另一种选择是将触发器中的列强制转换为整数。

这两种情况都是相当奇怪的解决方案,您应该将列的类型更改为整数。

关于sql - Postgres 将字符变化视为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47587889/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com