SQLite 默认值如果为 null

Pit*_*all 6 sqlite null insert default-value

假设我有一张名为“table”的表

所以

Create Table "Table" (a int not null, b int default value 1)
Run Code Online (Sandbox Code Playgroud)

如果我做一个“ INSERT INTO "Table" (a) values (1)”。我将为 a 列返回 1,为 b 列返回 1,因为 b 列的默认值为 1。

但如果我这样做“ INSERT INTO "Table" (a, b) values (1, null)”。我将在 a 列下注 1,在 b 列下注为空。如果给定空值,是否有办法设置列的默认值?

Pab*_*ruz 2

不,如果你正在做:

INSERT INTO my_table (a, b) values (1, null) 
Run Code Online (Sandbox Code Playgroud)

你是明确要求列null上的值b

在 RDBMS 中,从技术上讲,您可以使用触发器来覆盖该行为。但在 SQLite 中你不能。