【发布时间】:2019-07-26 05:19:51
【问题描述】:
我正在尝试通过循环通过特定文本文件中的设备列表将数据从“活动”更新为“退休”。
然而,不知何故,它不会从文本文件中过滤设备列表并更新相应的数据,根本不会对数据库进行任何更改。
这可能与我提出的 for 语句或 mysql 语句有关吗?无论我修复 MYSQL 多少次,结果仍然相同。
可能是什么问题?
请查看下面的代码,看看我在 MYSQL 或 Python 方面是否犯了任何错误。
提前感谢您的大力帮助。非常感激。
import pyodbc
conn = pyodbc.connect('Driver={SQL Server};'
'Server=############;'
'Database=########;'
'Trusted_Connection=yes;')
cursor = conn.cursor()
cursor.execute('SELECT id, device_id, model_number, serial_number_1,\
status_1, user_name_1 FROM [Footprint].[fpscdb001_cmdb_004].[desktop]')
results = []
with open('H:\list.txt') as inputfile:
results = inputfile.read().splitlines()
SQL = """UPDATE [Footprint].[fpscdb001_cmdb_004].[desktop]
SET status_1 = "Retired"
WHERE device_id == %s"""
try:
for i in results:
cursor.execute(SQL, results[i])
cursor.commit()
# print(rowcount)
except:
conn.rollback()
finally:
conn.close()
【问题讨论】:
标签: python mysql loops for-loop