2014-12-05 160 views
0

該文檔指定了兩種備選方案:insert valuesinsert default valueshttps://www.sqlite.org/lang_insert.htmlsqlite的插入與默認字段的默認值

麻煩的是,如果一個例如有一個表:

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

One無法再寫insert into values(?, ?, ?, ?, ?, ?),因爲它預計rowidcountry被指定。有指定insert into values與默認值填充默認字段的快捷方式嗎?或者不明確命名所有非默認字段是不可能的?

回答

1

是的,這是不可能的。在任何情況下,最好明確指定您正在使用的列 - 無論如何,將列留出將導致更脆弱的代碼和更多「無聲失敗」的可能性,因爲您並未將數據插入到您認爲是的列中正在插入它。