gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 08:53:37 24 4
gpt4 key购买 nike

我是 python 的新手,我正在尝试编写一个将值放入 SQL 数据库的脚本。

它是一个简单的 2 列表,如下所示:

CREATE TABLE [dbo].[pythonInsertTest](
[ID] [int] IDENTITY(1,1) NOT NULL,
[value] [varchar](50) NULL

我尝试从 python 中执行选择查询并且成功了!所以连接或任何类似的东西都不是问题。但是当我使用以下代码插入表中时:

import pymssql
conn = pymssql.connect(server='XXXX', user='XXXX', password='XXXX', database='XXXX')
cursor = conn.cursor()
cursor.execute("insert into pythonInsertTest(value) OUTPUT INSERTED.ID VALUES('test')")
row = cursor.fetchone()
while row:
print "Inserted Product ID : " +str(row[0])
row = cursor.fetchone()

响应是:

$? && exit 1
Inserted Product ID : 20
Exit status: 0

但是,如果我查看我的 sql 管理器并选择所述表中的所有行,我刚刚添加的行不在那里......但是当我通过管理器中的 SQL 查询手动插入行时,它已添加。

需要注意的是,它确实跳过了通过我的 python 脚本“插入”的 ID。

有人以前见过这个或知道该怎么做吗?

最佳答案

哈,我也曾多次遇到过这个问题。据我所知,您缺少提交声明。根据这个example ,添加一个 conn.commit(),希望你会成为金子。

关于python - 通过 pymssql 插入但没有行出现在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32631805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com