文档指定了两种选择:insert values
或insert default values
(https://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
的快捷方式,默认值填充默认字段?或者在没有明确命名所有非默认字段的情况下是不可能的?
答案 0 :(得分:1)
是的,这是不可能的。在任何情况下,最好明确命名您INSERT
列的列 - 将列留下导致更脆弱的代码和更多"无声失败"您可能无法将数据插入到您认为要插入的列中。