在我的
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 中的默认值?
不,您每次都必须重复文本。
我理解你的愿望;我经常希望
NOT NULL
是列的默认值。但这样的功能是危险的。任何改变 SQL 语义的配置都是有问题的,因为它会导致混乱。想象一下,有这样一个设置,并且您将 SQL 代码发布在(例如)Stackoverflow 问题中:我们始终必须考虑澄清您如何配置数据库,然后才能理解您的代码。
您不必每天都编写表定义。使用好的文本编辑器并定义宏。