我已经搜遍了所有问题,但是还没有找到答案。我最接近的是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