假设我有一张名为“table”的表
所以
Create Table "Table" (a int not null, b int default value 1)
如果我做一个“
INSERT INTO "Table" (a) values (1)
”。我将返回 a 列的 1 和 b 列的 1,因为 b 列的默认值为 1。但是如果我做“
INSERT INTO "Table" (a, b) values (1, null)
”。我会为 a 列打赌 1,为 b 列打赌一个空值。如果给出空值,有没有办法设置列的默认值?
最佳答案
不,如果您正在执行以下操作:
INSERT INTO my_table (a, b) values (1, null)
您是 明确求一个
null
b
上的值柱子。在 RDBMS 中,您可以在技术上使用触发器来覆盖该行为。但是在 SQLite 中你不能。
关于如果为 null,则 SQLite 默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8478894/