gpt4 book ai didi

sql - PostgreSQL:如何有效地更改 psql 中的多个列?

转载 作者:行者123 更新时间:2023-11-29 11:20:16 24 4
gpt4 key购买 nike

我有一个包含多个 bool 列的 PostgreSQL 表,当前仅包含 true 或 null。我想为他们所有人做以下事情:

  1. 添加默认值 false
  2. 将所有空值更改为 false
  3. 添加一个not null约束条件

即:

-- for each column specified:
update my_table set my_column = 'f' where my_column is null;
alter table my_table alter column my_column set default 'f';
alter table my_table alter column my_column set not null;

psql(或标准 SQL)是否有一个功能可以迭代指定的列列表并对每个列应用一系列操作?

最佳答案

您不能遍历所有列,但为了安全起见,您可能不想这样做,而是指定自己要更改的列。另一种方法是执行脚本查询列名,然后更改它们。

要更改它们,您可以使用 ALTER TABLE。请参阅 PgSQL 文档: http://www.postgresql.org/docs/8.4/static/sql-altertable.html

ALTER TABLE xy ALTER COLUMN a SET DEFAULT FALSE, ALTER COLUMN b SET NOT NULL

等等

关于sql - PostgreSQL:如何有效地更改 psql 中的多个列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4146138/

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