在IPython Noteb中锁定SQL服务器的Python脚本

2024-04-19 02:02:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行执行此查询的非常短的脚本:

cnxn = pyodbc.connect(driver='{SQL Server}', server='myServer', database='myDB',               
           trusted_connection='yes')
cursor = cnxn.cursor()
cursor.execute("INSERT INTO myTable (ID, Sale, Quantity) VALUES (176, 2.0, 35.0), (176, 2.5, 62.0), (176, 3.0, 89.0), (176, 3.5, 154.0), (176, 4.0, 225.0), (176, 4.5, 365.0)")
cursor.close()

当我尝试检索刚刚插入的数据时,查询会锁定并继续执行,而不返回任何内容。我必须扼杀这个过程来解放一切。当我在SQLServer2008中执行相同的查询时,它可以正常工作。建议调试这将不胜感激。你知道吗


Tags: 脚本sqlserverdriverconnectconnectioncursordatabase
1条回答
网友
1楼 · 发布于 2024-04-19 02:02:28

您最好使用executemany,并且在插入之后还需要一个commit语句。你知道吗

vals = [ (176, 2.0, 35.0), (176, 2.5, 62.0), (176, 3.0, 89.0), (176, 3.5, 154.0), (176, 4.0, 225.0), (176, 4.5, 365.0)]
cursor.executemany("""
                  INSERT INTO myTable
                  (ID, Sale, Quantity)
                  VALUES (?,?,?)
                  """, vals)
cnxn.commit()

相关问题 更多 >