Phpmyadmin插入两个已经插入的数据?

时间:2017-02-13 08:14:47

标签: mysql phpmyadmin

我有一个数据库设置,并在其中插入数据。但是我注意到我错过了一点插入。那么如何在phpmyadmin中的两个现有部分之间插入数据?

1 个答案:

答案 0 :(得分:0)

在像MySQL这样的关系型数据库中,表中并没有特定的特定顺序。如果订单对您很重要(例如按姓氏按字母顺序排列,或按订单号按数字排序),则应在检索信息时按特定列排序。除此之外,MySQL通常会按照插入顺序显示信息,但依赖于此可能会导致问题(例如在插入期间丢失行时重新排序,或者如果项目被删除)。

因此,正确的解决方案实际上是通过一些可靠的方法(可能是“sort_order”INT列或最后修改时间的时间戳)进行排序,但唯一的解决方法是手动(或以编程方式)移动每个值一个人。您可以直接使用SQL执行此操作,但必须注意不要更改太多值。确保先备份。

备份完表后,需要另一份表格副本。在这个例子中,我有'sorter'和'sorter2',它们是相同的,有两列; 'id'和'val'。

UPDATE sorter, sorter2
SET sorter.val = sorter2.val
WHERE sorter.id = sorter2.id +1 AND sorter.id > 15

这可以扩展为包含更多列,当然应该调整AND语句以适合您插入新数据的任何行。使用它的最简单方法是在末尾添加另一行(可以是空白或有垃圾数据,因为倒数第二行很快就会替换它),然后运行SQL,将所有内容都移动一个,在与您的AND语句匹配的任何行中留下重复的空格,以便您手动插入缺少的信息。

但是,如果订单对您很重要,我建议使用更好的分类方法。