使用SQLite插入单个字段的默认值

时间:2016-01-30 22:42:57

标签: sqlite

鉴于SQLite中的以下表格:

hair_color

我正在尝试执行批量插入,仅对某些行使用INSERT INTO users (name, hair_color) VALUES ('Sean', 'Black'), ('Tess', DEFAULT) 的默认值。例如,在PostgreSQL或MySQL中,它可能看起来像:

DEFAULT

但是,SQLite不会在DEFAULT VALUES之外的任何其他上下文中提供INSERT INTO users (name, hair_color) VALUES ('Sean', 'Black'); INSERT INTO users (name) VALUES ('Tess'); 关键字。我知道我可以在两个查询中执行此操作

DEFAULT

但是,我无法想象SQLite没有提供某种机制来在单个查询中执行它。是否有与SQLite其他后端的$PATH关键字相同的内容?

1 个答案:

答案 0 :(得分:1)

SQLite是一个没有客户端/服务器通信开销的嵌入式数据库,因此数据库本身没有技术原因可以避免使用多个语句。

可以创建一个触发器(对于每个表),用特定值替换默认值。 但是,如果不知道表定义的细节,这是不可能的,并且无论如何,可以用单个语句插入的行数是有限的,因此最简单的解决方案是每行使用一个INSERT。