Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Phpmyadmin是否在已插入的两个数据之间插入数据?_Mysql_Phpmyadmin - Fatal编程技术网

Mysql Phpmyadmin是否在已插入的两个数据之间插入数据?

Mysql Phpmyadmin是否在已插入的两个数据之间插入数据?,mysql,phpmyadmin,Mysql,Phpmyadmin,我有一个数据库设置,正在向其中插入数据。然而,我注意到我错过了一点插入。那么,如何在phpmyadmin中的两个现有数据块之间插入该数据呢?在像MySQL这样的关系数据库中,表并没有固有的特定顺序。如果顺序对您很重要(如按姓氏字母顺序或按订单号数字顺序),则在检索信息时应按特定列进行排序。除此之外,MySQL通常会按照插入的顺序显示信息,但依赖于此可能会导致问题(例如,在插入过程中缺少一行时重新排序,或者如果删除了某个项) 因此,正确的解决方案实际上是通过某种可靠的方法进行排序(可能是“sort

我有一个数据库设置,正在向其中插入数据。然而,我注意到我错过了一点插入。那么,如何在phpmyadmin中的两个现有数据块之间插入该数据呢?

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

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

一旦有了表的备份,您就需要该表的另一个副本。在这个例子中,我有两个相同的“sorter”和“sorter2”,它们有两列id'和'val'

更新分拣机,分拣机2
设置sorter.val=sorter2.val
其中sorter.id=sorter2.id+1和sorter.id>15
这可以扩展为包含更多的列,当然and语句应该进行调整,以适合插入新数据的任何行。最简单的方法是在末尾添加另一行(可以是空的,也可以有垃圾数据,因为倒数第二行很快就会替换它),然后运行SQL,将所有内容上移一行,在与AND语句匹配的任何行上留下重复的空间,以便手动插入缺少的信息

但同样,如果顺序对您很重要,我建议您使用更好的排序方法