gpt4 book ai didi

database - Postgres 将列整数更改为 bool 值

转载 作者:太空狗 更新时间:2023-10-30 01:38:11 26 4
gpt4 key购买 nike

我有一个字段是 INTEGER NOT NULL DEFAULT 0,我需要将其更改为 bool。

这是我正在使用的:

ALTER TABLE mytabe 
ALTER mycolumn TYPE bool
USING
CASE
WHEN 0 THEN FALSE
ELSE TRUE
END;

但我得到:

ERROR:  argument of CASE/WHEN must be type boolean, not type integer

********** Error **********

ERROR: argument of CASE/WHEN must be type boolean, not type integer
SQL state: 42804

有什么想法吗?

谢谢。

最佳答案

试试这个:

ALTER TABLE mytabe ALTER COLUMN mycolumn DROP DEFAULT;
ALTER TABLE mytabe ALTER mycolumn TYPE bool USING CASE WHEN mycolumn=0 THEN FALSE ELSE TRUE END;
ALTER TABLE mytabe ALTER COLUMN mycolumn SET DEFAULT FALSE;

您需要先删除约束(因为它不是 bool 值),其次您的 CASE 语句在语法上是错误的。

关于database - Postgres 将列整数更改为 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1740303/

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