如何临时更改 PostgreSQL 中的默认设置?

问题描述 投票:0回答:1

在我的

psql
脚本中,所有外键引用都包含子句
on delete cascade on update cascade
,因为默认值是
on delete no action on update no action
:

create table x (
  y bigint
    references schema.table (column) ON DELETE CASCDE ON UPDATE CASCADE

这个结构重复了数百次。

所以我更想写:

create table x (
  y bigint references schema.table (column)

如何临时更改 Postgres 中的默认值?

postgresql foreign-keys default
1个回答
0
投票

不,您每次都必须重复文本。

我理解你的愿望;我经常希望

NOT NULL
是列的默认值。但这样的功能是危险的。任何改变 SQL 语义的配置都是有问题的,因为它会导致混乱。想象一下,有这样一个设置,并且您将 SQL 代码发布在(例如)Stackoverflow 问题中:我们始终必须考虑澄清您如何配置数据库,然后才能理解您的代码。

您不必每天都编写表定义。使用好的文本编辑器并定义宏。

© www.soinside.com 2019 - 2024. All rights reserved.