python36用pymssql无法往sql server插入、更新数据

Blake51 2018-05-05 11:13:22
查询数据没有问题,插入数据加了conn.commit,而且在控制台显示成功,但数据库端无变化,再次运行,查询数据无增加,控制台标号递增,数据库端数据仍不变,请大神指点!谢谢
...全文
1145 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
羲義 2019-07-03
  • 打赏
  • 举报
回复
引用 7 楼 qq_30609365 的回复:
遇到同样的问题,翻遍google baidu 于是翻到了这个答案...我以为找到了救星...
兴高采烈跑去设置 conn.autocommit = True 出现报错。
焦头烂额之际,我突然发现 conn.commit 是一个方法...方法.....方法...法...法...法...
我居然没有打括号...括号....号...号...
而且题主也没有打括号....号...号...
于是我打上了括号,它成功了...成功了....功了....了
为这问题我花了一天的时间...时间.....间....
5555555


我也翻了好多关于python pymssql的文章,最后你的这句话提醒了我“焦头烂额之际,我突然发现 conn.commit 是一个方法...方法.....方法...法...法...法...
我居然没有打括号...括号....号...号...
而且题主也没有打括号....号...号...”
太粗心了感谢
小羽Jary 2019-07-03
  • 打赏
  • 举报
回复
conn= pymssql.connect(..., autocommit = True)会自动commit掉,不需要再调用commit()方法 conn.commit()是手动commit掉,你那里没写括号所以不起作用
Blake51 2018-07-10
  • 打赏
  • 举报
回复
引用 7 楼 qq_30609365的回复:
遇到同样的问题,翻遍google baidu 于是翻到了这个答案...我以为找到了救星... 兴高采烈跑去设置 conn.autocommit = True 出现报错。 焦头烂额之际,我突然发现 conn.commit 是一个方法...方法.....方法...法...法...法... 我居然没有打括号...括号....号...号... 而且题主也没有打括号....号...号... 于是我打上了括号,它成功了...成功了....功了....了 为这问题我花了一天的时间...时间.....间.... 5555555
非常感谢你的回答,确实是我敲代码时粗心了,应该是conn.commit()。另一方面,我给autocommit赋值貌似也是可行的,只不过不像你的写法,而是在连接数据库时就传参进去:conn= pymssql.connect(..., autocommit = True)。
qq_30609365 2018-06-01
  • 打赏
  • 举报
回复 2
遇到同样的问题,翻遍google baidu 于是翻到了这个答案...我以为找到了救星... 兴高采烈跑去设置 conn.autocommit = True 出现报错。 焦头烂额之际,我突然发现 conn.commit 是一个方法...方法.....方法...法...法...法... 我居然没有打括号...括号....号...号... 而且题主也没有打括号....号...号... 于是我打上了括号,它成功了...成功了....功了....了 为这问题我花了一天的时间...时间.....间.... 5555555
Blake51 2018-05-05
  • 打赏
  • 举报
回复
引用 2 楼 管理員的回复:
你是用的ORM? 没设置 AUTO_COMMIT 吧
解决了,还是autocommit的问题,试了一下,发现它是read-only,而且默认false,更改不了,可能是这个原因导致后面的conn.commit不起作用,最后在调用pymssql.connection时赋值true进去才好了,感谢指导!
Blake51 2018-05-05
  • 打赏
  • 举报
回复
引用 2 楼 管理員的回复:
你是用的ORM? 没设置 AUTO_COMMIT 吧
不太明白你说的orm是什么东西,我在执行插入语句后,加了conn.commit,应该与你所说的设置autocommit功能类似吧?
手无护鸡之力 2018-05-05
  • 打赏
  • 举报
回复
你是用的ORM? 没设置 AUTO_COMMIT 吧
Blake51 2018-05-05
  • 打赏
  • 举报
回复
很奇怪查询没问题,在控制台显示插入成功,但就是没有提交到数据库中
Blake51 2018-05-05
  • 打赏
  • 举报
回复
引用 5 楼 oyljerry的回复:
主要是连接数据库的只读,跟autocommit关系不大
我之前也是怀疑数据库只读导致我的conn.commit不起作用,但是给autocimmit赋值为true确实能写入了,现在对这个点还是有些不明白
oyljerry 2018-05-05
  • 打赏
  • 举报
回复
主要是连接数据库的只读,跟autocommit关系不大
数据分析,数据科学及AI算法是当前最热门的职业。这些职业有着共同的特点:面向数字的,针对编程的以及采取分析手段的。 这些当代热点特性使得在就业市场上对以上职位需求激增也就不足为奇了。但是,市场上提供这方面的大型综合的培训课程是有限,如果说有,大多是知识范围狭窄且非综合性的,而且大多培训都缺乏方法论与实务结合。一般的情况是讲师讲述某种语言的一堆代码,学生听完后甚至连使用方法及代码的前提都不清楚,更别提实际应用场景了。这里,掌握一门数据分析软件本身没错,但仅通过单一的编程培训很难获得聘用为数据分析师或数据科学家所需的技能。那我的解决方案是什么呢?首先,我把所有数据分析中的典型问题都归类总结出来,再结合相应的实际问题,数据以及案例,同时采用世界上最流行的两种数据分析软件:PYTHON 和 SAS去解决这些问题,并将这些解决方法传授给学生。学生在完成培训后更重要的收获是知道每一问题从产生直至解决的前因后果和应用场景,这是因为我在每一课程章节最前都会交代方法论,知识要点及应用场合。SAS和PYTHON可以一起学吗?当然可以。因为我就是这样做到的。具体步骤是,我在课程当中安排了一系列主题,然后使用两种编程语言解决同样的问题。我总结出这样做的好处是边学习边比较,最后在不知不觉当中掌握了两门语言的精华和数据分析的通用方法或模式。过程虽有点长,但十分有趣。最后,为了巩固已学的知识和技能,我还专门安排了针对PYTHON 和 SAS的中小型项目及详细代码讲解。另外,课程当中使用的全部编程代码及数据文件都将免费地提供给注册的学生。

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧