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的參數您的第二個查詢的答案如本答案中所示。 –