【发布时间】:2012-03-14 15:47:37
【问题描述】:
我的 SQL 还不错,但 iOS 上的 SQLite 经常让我出局。
我有一个表,我想将行数限制在 500 左右,所以当它达到 550 的触发点时,它将删除最早的 50 行。
它是滚动的,所以随着时间的推移,id 不会总是从 1 开始,用户可以删除行,所以 id 是非连续的。
我有一个 juliandate 字段 (double) 但我不确定这有什么用
DELETE FROM contents WHERE id > '0' ORDER BY id DESC LIMIT 0, 50
DELETE FROM contents ORDER BY id DESC LIMIT 0, 50
文档说没关系,但它失败了。有什么想法吗?
【问题讨论】:
-
它是如何失败的?错误消息,或者只是不删除任何内容或删除错误的内容?为什么不使用日期字段来删除最旧的 50 个?
-
@NickBull,
1.Sqlite3 对错误并没有那么冗长:Error: near "LIMIT": syntax error。2.可能没有日期字段。 -
@MishaAkovantsev 1. 该错误消息足以看出存在语法错误,而不是错误记录被删除的错误。 2. OP 说“我有一个 juliandate 字段”
-
@NickBull
1.是的,但对我没有帮助。2.是的,完全忽略了它。
标签: ios iphone sqlite delete-row