我正在尝试使用pyodbc在python中使用python创建表,但是当我运行我的脚本时,没有创建表并且没有给出错误。我的代码:
#!/usr/bin/env python
import pyodbc
con = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=Z:\Data\Instruments\testDB.accdb; Provider=MSDASQL;')
cur = con.cursor()
string = "CREATE TABLE TestTable(symbol varchar(15), leverage double, shares integer, price double)"
cur.execute(string)
可能有什么不对?
答案 0 :(得分:16)
您需要提交交易:
import pyodbc
con = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=Z:\Data\Instruments\testDB.accdb; Provider=MSDASQL;')
cur = con.cursor()
string = "CREATE TABLE TestTable(symbol varchar(15), leverage double, shares integer, price double)"
cur.execute(string)
con.commit()
答案 1 :(得分:2)
不需要手动提交的其他解决方案是:
在创建连接实例时设置autocommit = True
。
例如:
con = pyodbc.connect(your_connection_string, autocommit = True)
OR
使用with
语句,根据Python Database connection Close,该语句将在with
块末尾删除连接之前提交任何内容。
例如:
with pyodbc.connect(your_connection_string) as con:
CREATE_TABLE_CODE_WITHOUT_COMMIT
UNRELATED_CODE