我已經搜遍了所有問題,但是還沒有找到答案。我最接近的是Passing an array to sqlite WHERE IN clause via FMDB?。但是,答案似乎並不奏效。該命令不會引發任何錯誤,但它不會執行預期的操作(例如,DELETE)。 這裏就是我想要做的事:SQL WHERE IN子句不起作用 - FMDB - 傳遞逗號分隔字符串
[myDB executeUpdateWithFormat:@"DELETE FROM table WHERE row_id IN (%@)",rowIdsToBeDeleted];
rowIdsToBeDeleted是一個逗號分隔包含的rowid爲NSNumber的對象,例如的NSString
1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012
我甚至嘗試過使用executeUpdate,但沒有運氣。 請問你們能幫忙嗎?
我發送一個包含CS NSNumber對象的NSString(它不像NSPredicate /發送NSNumbers,因爲ints在FMDB上不起作用)。然而,我試過你的解決方案,它給出了以下錯誤(FMDB錯誤代碼1,語法錯誤):'near「?」:語法錯誤「 – Subzero 2012-07-17 17:17:40
謝謝,我也會嘗試。然而,其他人發佈了另外一個解決方案,但是他猜測他刪除了這個解決方案。感謝他,下面的工作就像一個魅力: – Subzero 2012-07-17 17:27:53
不得不downvote這個,因爲它根本不會工作。 – 2013-08-15 16:15:10