如果为 null,则 SQLite 默认值

标签 sqlite insert null default-value

假设我有一张名为“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/

相关文章:

android - 哪个 SQLite 语句可以产生指示重复条目的结果?安卓

performance - 如何提高 cassandra 中的插入性能?

c# - Linq2SQL : Always get . Sum() 返回 0 而不是 null

java - SQLite 单例方法的内存问题

RMarkdown 不会通过 sqlite 连接从 Rscript 渲染

java - 使用 Java 显示 FireFox cookie

php - 为什么我的MySQL中有空记录?

php - 如何在 php 和 sql 中将标签插入 3 表系统

java - 测试 equals() 时解决 SonarQube 中的 "null comparison"错误

c# - 静态函数返回新对象总是设置为空