这可能是一个明显的错误,但我正在尝试使用我已创建的脚本在python中创建数据库。
conn = sqlite3.connect('testDB')
c = conn.cursor()
c.execute('.read create.sql')
这会产生错误“sqlite3.OperationalError:near”。“:语法错误”
如果我在sqlite3 cmd行做同样的事情,它可以正常工作
[me@myPC ~]$ sqlite3 testDB
SQLite version 3.3.6
Enter ".help" for instructions
sqlite> .read create.sql
sqlite>
似乎任何以a开头的命令。给我一些问题。
答案 0 :(得分:3)
只需将文件内容传递给.execute方法:
conn = sqlite3.connect('testDB')
c = conn.cursor()
SQL = open('create.sql').read()
c.executescript(SQL)
答案 1 :(得分:2)
我认为以.
开头的命令是针对CLI客户端本身的,而不是针对后端的。
所以你没有机会这样做,并且必须自己进行文件读取和执行查询,即在Python中。