Sqlite 如何在表格中间添加某行

Sqlite 如何在表格中间添加某行,sqlite,Sqlite,我有一个要求,我必须在表格中间添加一行,如果它不存在。 你能帮我一下吗?你不能在任意位置添加行。表中的行集在定义上是无序的,因此首先没有“位置”。您只能对SELECT查询使用某些排序规则来按所需的顺序检索结果。您提出这个问题的事实让我担心,您当前的代码只是偶然运行的。如果希望行以特定顺序显示,则需要在SQL上使用“orderby”,否则将以未定义的顺序获取行 这些行很可能是按某种顺序排列的,例如插入它们的顺序,因为这就是它的实现方式,但是如果插入或删除更多行,或者没有明显的原因,这些行可能随时发

我有一个要求,我必须在表格中间添加一行,如果它不存在。


你能帮我一下吗?

你不能在任意位置添加行。表中的行集在定义上是无序的,因此首先没有“位置”。您只能对SELECT查询使用某些排序规则来按所需的顺序检索结果。

您提出这个问题的事实让我担心,您当前的代码只是偶然运行的。如果希望行以特定顺序显示,则需要在SQL上使用“orderby”,否则将以未定义的顺序获取行

这些行很可能是按某种顺序排列的,例如插入它们的顺序,因为这就是它的实现方式,但是如果插入或删除更多行,或者没有明显的原因,这些行可能随时发生变化


如果订单对您来说很重要,那么您需要使用order by。然后它很可能会“起作用”。但在我看来,你需要补充一点,不管怎样,尽管在任意位置插入行在技术上是不可能的,但这也违反了规范化的“法则”

如果需要对记录集中的数据进行排序,则必须通过ORDERBY语句对其进行排序。必须对表中包含的数据执行此操作。如果您想根据用户输入排序行,例如

  • 第一行[上移]/[下移]
  • 第二行[上移]/[下移]
  • 第三行[上移]/[下移]

  • 你应该添加一个列“UsRuleStult'”,并确保UsReSql排序值相对于子集是唯一的。

    如前所述,技术上不能在表的中间添加东西,这可能只是运气如何在输出中排序(如果你不使用Orthby by子句)。


    对于参数,我们假设您的表中有
    row\u id
    ,并且恰好通过一个简单的SELECT语句,您的行以升序
    row\u id
    排列。如果要在中间添加行,则必须在“新行”下面的所有行中增加<>代码> RooSIDID<代码>,并添加新的行,其中包含“代码”> RooSIDID<代码>,以适应该间隙。然后,您还需要更新输出这些行的SELECT语句,以便按该
    行id
    按行id排序
    ),否则这将不起作用。

    您能告诉我们您想要实现什么吗?你的表包含什么?如果我不能在表格中间添加一个规则,有什么其他方法可以实现这一点吗?对不起,朋友们,有一个拼写错误。如果我不能直接在表格中间添加一行,我还有别的办法吗?