【发布时间】:2010-01-05 02:20:45
【问题描述】:
我正在开发一个简单的待办事项应用程序,该应用程序在一周中的每一天都有一个列。启动时,应用程序会检查当前日期之前是否有任何未完成的任务。如果是这样,它们将被移到当前日期列的顶部。
该应用是基于云的,但使用 SQLite 数据库为离线模式备份任务。我可以通过更新它们的 date 属性轻松移动任务,但我需要每个任务的 order 属性从 0 开始递增以将它们放在顶部。
我需要能够单独在 SQLite 中定义一个计数变量,并在每次执行更新时递增它。我知道这段代码不起作用,但它是一种解释需要做什么的简单方法:
count = 0
UPDATE `tasks`
SET `date` = '2010-01-04',
`order` = `count`++
WHERE `date` < '2010-01-04'
如果可能,我宁愿不使用临时表或使用 SQLite 之外的计数器。
@OMG Ponies - 我开始认为这在 SQLite 中是不可能的。
【问题讨论】:
-
您似乎认为更新语句将在每个日期运行一次,这是不正确的。请提供您想使用的真实算法,而不是您认为的伪 SQL。
-
有谁知道这是否可以通过使用触发器来实现?
标签: sql actionscript-3 sqlite