我从HttpContext.Current.Request [“key”]得到一个字符串,如果它不为空,我会拆分(',')。
现在我想写一个sql语句删除任何匹配键的msgId(long / Int64),我该怎么写呢?我unserstand的唯一方法是将string []转换为long []然后循环一个SQL语句。还有更好的方法吗?
PS:使用sqlite ATM,但将切换到另一个SQL引擎。 (我还没有选择服务器,所以我不知道哪个)
答案 0 :(得分:1)
DELETE FROM table WHERE id IN (1,2,3,keys)
会这样做吗?
答案 1 :(得分:0)
我建议您使用上面的 Ben的解决方案,但稍作修改。我观察到当你在sql中使用很多项目(它是用sql 2000,不知道它是否仍然是sql 2005的问题)在语句中查询往往会变慢。尝试在'in'语句中的项目数超过100的多个删除语句。
Ex: DELETE FROM table WHERE id IN (1,2,3 ... n)
DELETE FROM table WHERE id IN (1,2,3 ... n)
如果您不期待很多项目,则无需执行此操作。