pymssql - SELECT 有效,但 UPDATE 无效

Posted

技术标签:

【中文标题】pymssql - SELECT 有效,但 UPDATE 无效【英文标题】:pymssql - SELECT works but UPDATE doesn't 【发布时间】:2017-10-12 06:11:46 【问题描述】:

import pymssql
import decimal

CONN = pymssql.connect(server='1233123123', user='s123', password='sa1231231', database='DBforTEST')
CURSOR = CONN.cursor()
"""it is good code. here is no problem"""
CURSOR.execute("SELECT ttt from test where w=2")
ROW = CURSOR.fetchone()
tmp = list()
tmp.append(ROW)
if ROW is None:
    print("table has nothing")
else:
    while ROW:
        ROW = CURSOR.fetchone()
        tmp.append(ROW)
print(tmp)
"""it works!"""

CURSOR.execute("""
                UPDATE test 
                SET 
                w = 16
                where ttt = 1
                """)
"it doesnt works"

我正在使用 python 3.5 和 pymssql。

在我的代码中,SELECT 状态有效,所以我可以保证连接是完美的。 但是UPDATE 状态在 Python 中不起作用。 相同的代码适用于 SSMS。

有什么问题? 我猜SELECT的状态是只读的,所以DB可以提供Data,但是UPDATE正在修改DB,所以DB阻塞了。

我该如何解决?

【问题讨论】:

【参考方案1】:
CONN.commit() 

如果没有设置自动提交,那么你必须自己提交。

【讨论】:

以上是关于pymssql - SELECT 有效,但 UPDATE 无效的主要内容,如果未能解决你的问题,请参考以下文章

pymssql 和占位符

pymssql,无法执行EXEC命令sql

使用 pymssql,如何使用输出调用存储过程

如何使用pymssql python插入但忽略相同的日期标签

通过pymssql插入但数据库中没有出现行

通过pymssql插入但数据库中没有出现行