首页 > 解决方案 > 无法为列设置默认值

问题描述

我无法为表中的列设置默认值。我看到很多例子,但我无法解决我的问题。我有两列的表:id,name。我需要,如果 id == null,则设置默认值。

ALTER TABLE my_table ALTER id SET DEFAULT nextval('val_seq')
INSERT INTO my_table (id, name) VALUES (null, 'test_name')

我收到错误:null value in column "id" violates not-null constant. How fixed this?

标签: mysqlpostgresql

解决方案


尽量不要在插入语句中包含要使用默认值的列。

INSERT INTO my_table (name) VALUES ('test_name')

如果未指定其他值,则默认约束将为列提供默认值。


推荐阅读