在PostgreSQL中,当一列被标记为NOT空并且在插入期间没有为其提供任何值时,就会引发错误.然而,在SQL中,如果没有提供值,则会根据列的类型设置默认值,例如字符串值为''
,integer为0
,float为0.00
(小数位数:2)等.值得注意的是,即使在SQL中,无论是否明确提及默认值,这种行为都会发生.
Example:
ALTER TABLE errors ADD COLUMN user_id INT NOT NULL
在SQL中,如果没有提供值,它会插入0,而PostgreSQL会抛出错误.
PostgreSQL中是否有一种方法或数据库设置来实现类似的行为,其中会自动为标记为NOT空的列设置默认值?
我正在nestjs中使用TypORM,我不想像这样显式地 for each 列提供默认值
@Column('int', { default: 0 })
user_id: number;
EDIT 1:我需要这样的东西:STRICT_TRANS_TABLES
EDIT 2:我发现了SQL是如何做到这一点的,只是需要它用于postquist,或者想知道它是否在postquist中不可能.Implicit Default Handling in MYSQL