sqlite insert,包含默认字段的默认值

时间:2014-12-05 20:14:12

标签: sql sqlite

文档指定了两种选择:insert valuesinsert default valueshttps://www.sqlite.org/lang_insert.html

问题是,例如,如果有一个表:

create table address_book values(
 rowid integer primary key, 
 first_name, 
 last_name, 
 address, 
 phone_number, 
 email, notes, 
 country TEXT DEFAULT 'USA'
 )

由于需要指定insert into values(?, ?, ?, ?, ?, ?)rowid,因此无法再写country。是否有指定insert into values的快捷方式,默认值填充默认字段?或者在没有明确命名所有非默认字段的情况下是不可能的?

1 个答案:

答案 0 :(得分:1)

是的,这是不可能的。在任何情况下,最好明确命名您INSERT列的列 - 将列留下导致更脆弱的代码和更多"无声失败"您可能无法将数据插入到您认为要插入的列中。