2012-04-25 45 views
17

什麼是最好的SQL的SQLite數據庫,以切實做到:sqlite - 如何在完成插入之前檢查表是否存在?

If Database Table Exists then 
    - create table 
    - insert row 
    - insert row (i.e. for startup data) 
end 
+1

回答這裏:http://stackoverflow.com/questions/1601151/how-do -i-check-in-sqlite-whether-a-table-exists – 2012-04-25 09:07:29

回答

22

要檢查你的表存在與否,可以使用:

SELECT * FROM sqlite_master WHERE name ='myTable' and type='table'; 
+0

ok - 所以你認爲最好把插入保持爲單獨的sql語句我假設?謝謝 – Greg 2012-04-25 10:00:31

+0

是的,我認爲是的! – 2012-04-25 10:18:06

+0

對於TEMP表,您必須查看sqlite_temp_master。 – PatchyFog 2012-12-18 16:06:00

3

使用此代碼

SELECT name FROM sqlite_master WHERE type='table' AND name='yourTableName'; 

如果返回的數組數等於1,則表示其他表不存在。

1

你可以讓sqlite的自身檢查了這一點你:

CREATE TABLE IF NOT EXISTS <table_name> ...;  

關注鏈接的文檔: https://sqlite.org/lang_createtable.html

+1

這就是這樣! – 2017-09-13 20:16:13

+0

那麼對於數據庫本身是的,但是如果我在應用程序調用之前有很多事情要做,應該怎麼辦?如果以前能夠檢查,我可以節省計算時間和資源。 – Dareon 2017-10-08 10:24:00

相關問題