您需要提交数据。每个 SQL 命令都在一个事务中,必须提交事务才能将事务写入 SQL Server,以便其他 SQL 命令可以读取。
在 MS SQL Server Management Studio 下,默认设置是允许自动提交,这意味着每个 SQL 命令都会立即生效,并且您无法回滚。
例子来自pyodbc Getting Started document
首先打开数据库并设置游标
import pyodbc
# Specifying the ODBC driver, server name, database, etc. directly
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=localhost;DATABASE=testdb;UID=me;PWD=pass')
# Create a cursor from the connection
cursor = cnxn.cursor()
然后在文档中插入示例
# Do the insert
cursor.execute("insert into products(id, name) values ('pyodbc', 'awesome library')")
#commit the transaction
cnxn.commit()
或更好地使用参数
cursor.execute("insert into products(id, name) values (?, ?)", 'pyodbc', 'awesome library')
cnxn.commit()
如文件所述
注意对 cnxn.commit() 的调用。 您必须调用 commit 否则您的更改将会丢失! 当连接关闭时,所有未决的更改都将被回滚。这使得错误恢复非常容易,但你必须记得调用 commit。