我想通过外部文件创建我的数据库,如:
database = "../data/cm4payroll.db"
query = "../data/emdb.sql"
# Datenbankverbindung herstellen
self.connection = sqlite3.connect(self.database)
self.cursor = self.connection.cursor()
# Datenbank erstellen
self.cursor.execute(self.query)
回溯:
self.cursor.execute(self.query)
sqlite3.OperationalError: near ".": syntax error
答案 0 :(得分:2)
您需要阅读文件内容,然后将其传递给cursor.executescript()
:
self.connection = sqlite3.connect(self.database)
self.cursor = self.connection.cursor()
with open(self.query) as queryfile:
self.cursor.executescript(queryfile.read())
您的错误显示您尝试将文件名作为SQL语句执行; cursor.execute()
只能 处理实际的SQL字符串,而不是文件名。