我正在用SQLite做一个Todo-List GUI项目,用于存储任务列表。
显然,我可以使用以下方法得到表的第n行:SELECT * FROM TABLE WHERE LIMIT n-1,1
。但是显然没有删除第n行的选项?这是不存在的东西吗?我错过了什么吗?
我尝试执行DELETE FROM TABLE WHERE rowID = n
,因为SQLite会为表中的行自动生成rowID,但问题是在我删除第n行之后,后续行的rowID不会更新。
我有一张和这个相似的table
| TaskName | Notes | Date |
|-------------|-----------|---------|
| Get milk | urgent | ... |
| Exercise | leg day | .. |
| Meeting | afternoon | ... |
因此,理想情况下,我需要的是某个命令,当我告诉它删除第二行时,它应该给予输出--〉
| TaskName | Notes | Date |
|-------------|-----------|---------|
| Get milk | urgent | ... |
| Meeting | afternoon | ... |
当我对第二行再次执行相同的命令时,应该会给予--〉
| TaskName | Notes | Date |
|-------------|-----------|---------|
| Get milk | urgent | ... |
为了实现此基本功能,我应该做/实现什么?
1条答案
按热度按时间ki0zmccv1#
数据库表中的行表示无序数据集。此表:
| 任务名称|附注|日期|
| - ------|- ------|- ------|
| 去拿牛奶|急件|...|
| 运动|航段日|......|
| 会议|下午|...|
和这个表格是一样的
| 任务名称|附注|日期|
| - ------|- ------|- ------|
| 去拿牛奶|急件|...|
| 会议|下午|...|
| 运动|航段日|......|
还有这个
| 任务名称|附注|日期|
| - ------|- ------|- ------|
| 运动|航段日|......|
| 去拿牛奶|急件|...|
| 会议|下午|...|
那么,如果你想删除第二行,你在这里称哪一行为"second"呢?
假设日期是唯一的,并且您讨论的是按日期排序的行,则: