0
我有下面的语法。第一个cursor.execute \ fetchone拉回我想要更新的那一行。但是当我尝试运行更新查询时,它会更新多个记录。pymssql sql更新语句
cursor.execute("Select * FROM [DisneyConvoIndex] where [ConversationBaseIndex]=%s order by length DESC;", '0101CFE27C560BEB6C1073FBF741997D79EDBD4610AC')
row = cursor.fetchone()
for row in row:
cursor.execute("UPDATE [DisneyConvoIndex] set [toreview] = 'yes'")
虽然我已经硬编码值到这个声明进行测试,我会在整个SQL数据库需要循环(我被这个分组[ConversationBaseIndex]字段,拉回最小行并更新那一行。我尝试了限制一种语法,但无法让它工作。 – lelarider
@lelarider - 你似乎缺少的一点是,现在你的第二个查询总是会更新所有的行,因为它不包含WHERE子句,即使你已经为这两个查询使用了相同的“游标”对象,第二个查询与第一个查询无关,但你需要循环遍历第一个查询的结果并将返回的值用作WHERE clau的参数您的第二个查询的答案如本答案中所示。 –