mysql插入刚刚删除记录的新记录

时间:2015-02-11 02:57:24

标签: mysql insert

我在删除记录后插入mySQL时遇到问题。新插入的记录在其他记录之前插入,删除前一条记录的位置。

所以,如果我有三个这样的记录:

SnippetNum  Snippet
1             #1
2             #2
3             #3

如果删除记录#1,下一条记录将被插入

SnippetNum   Snippet
4             #4
2             #2
3             #3

这弄乱了我的记录在checkedListBox中的显示方式

以下是在checkedListBox中显示项目的代码

       private void RefreshCheckedListNoteSnippets() {
        AnesthNoteSnippets.Refresh();
        checkedListNoteSnippet.Items.Clear();
        for (int i = 0; i < AnesthNoteSnippets.List.Length; i++) {
            string command = "SELECT Snippet FROM anesthnotesnippet WHERE SnippetNum = " + AnesthNoteSnippets.List[i].SnippetNum + " ORDER BY SnippetNum ASC";
            string snippet = DataCore.GetScalar(command);
            if (snippet != String.Empty) {
                checkedListNoteSnippet.Items.Add(snippet, false);
            }
         }
      } 

这是我插入代码:

public static void Insert(string snippet) {
    string command = "INSERT INTO anesthnotesnippet (Snippet)" +
        " VALUES ('" + snippet + "')";
    DataCore.GetScalar(command);

}

任何建议赞赏

1 个答案:

答案 0 :(得分:2)

在SQL中,行在表中没有保证的内部排序顺序,DBMS可以自由地将它们放在需要的位置。

如果您需要按照特定方式对其进行排序,那么您在提取时所执行的操作就已经在select语句中显示了。

但是,既然你一次只做一个片段(使order by多余),看起来它会归结为以下指定的顺序:

for (int i = 0; i < AnesthNoteSnippets.List.Length; i++)

检查AnesthNoteSnippets.List调用以确保在刷新时对列表进行了适当的排序。