2011-09-09 60 views
1

這可能是一個明顯的錯誤,但我試圖從我已經創建的腳本在Python中創建一個數據庫。無法執行'.read create.sql'

conn = sqlite3.connect('testDB') 
c = conn.cursor() 
c.execute('.read create.sql') 

這給出了一個錯誤 「sqlite3.OperationalError:近」。 「:語法錯誤」

如果我在sqlite3的CMD做同樣的事情線路正常工作

[[email protected] ~]$ sqlite3 testDB 
SQLite version 3.3.6 
Enter ".help" for instructions 
sqlite> .read create.sql 
sqlite> 

它似乎任何以a開頭的命令。給我問題。

回答

2

我會假設以.開頭的命令是爲CLI客戶端本身,而不是爲後端。

所以你沒有機會這樣做,並且必須自己完成文件讀取和執行查詢,即使用Python。

2

剛剛通過的文件到.execute方法的內容:

conn = sqlite3.connect('testDB') 
c = conn.cursor() 
SQL = open('create.sql').read() 
c.executescript(SQL)