开发中遇到一个问题:一段SQL代码,怎么都无法删除数据: “DELETE FROM table_name ORDER BY sort_column LIMIT 3”
这应该是一个比较普通的语句,但是android没有任何效果,百思不得其解,最后发现这里写了问题的原因stackoverflow
大意是说android在使用sqlite时侯关闭了 SQLITE_ENABLE_UPDATE_DELETE_LIMIT这个开关(delete和update都有问题)
解决办法也比较简单,写成这样就好了:
DELETE FROM table_name WHERE unique_column IN (
SELECT unique_column FROM table_name ORDER BY sort_column DESC LIMIT 3
)

在Android开发中遇到SQLite无法使用ORDER BY和LIMIT直接删除数据的问题,原因是Android关闭了SQLITE_ENABLE_UPDATE_DELETE_LIMIT选项。通过理解这个问题,可以将删除语句改写以解决问题。
3550

被折叠的 条评论
为什么被折叠?



