• 技术文章 >后端开发 >php教程

    【有满意答复会加分】PHPMyAdmin里在表的浏览页面下只要选一次主键排序,就不能再选无主键排序了

    2016-06-13 11:21:20原创470

    【有满意回答会加分】PHPMyAdmin里在表的浏览页面下只要选一次主键排序,就不能再选无主键排序了
    本帖最后由 shendaowu 于 2013-04-06 21:32:01 编辑

    我用的是XAMPP v3.1.0 Windows版。
    我发现用PHP插入记录之后最后插入的记录在PHPMyAdmin里不是最后一条,就点了一下结果的表头中的id,然后查询结果就按id递增排序了,上面的查询语句也变成了这个:
    SELECT *
    FROM table
    ORDER BY table.`id` ASC
    LIMIT 0 , 30
    修改的时候只能修改SELECT * FROM table这个部分,下面的修改不了。
    而且点击主键排序后面的那个下拉列表里的无业没有反应,不能把ORDER BY子句去掉。
    奇怪的是我把这个表导出之后删掉,之后在导入进来还是有那个ORDER BY子句。

    我有三个问题,第一个是怎么去掉那条ORDER BY子句,第二个是用PHP插入的最后一条记录在PHPMyAdmin里查看的时候为什么不是最后一条,第三个是不加ORDER BY的结果的顺序是不是就是数据库中的物理顺序。

    --------------------------------------------------
    刚才我自己把那个东西恢复了,那个东西保存在phpmyadmin这个数据库中的pma_table_uiprefs表里了,删除界面出错的表对应的记录之后重启服务就恢复了。那个表里的BLOB文件我看了,好像就是一些PHPMyAdmin的界面的配置,不知道删了会不会出问题?去掉那个ORDER BY子句之后顺序又乱了。
    --------------------------------------------------
    还有一些东西我没说:
    那个表的主键被我设置成自增主键了。在用PHP插入之前我导入了一些数据,类似这样:
    1 xx
    2 ss
    3 rr
    然后用PHP插入。多次插入之后是这样的:
    1 xx
    2 ss
    3 rr
    4 ww

    1 xx
    2 ss
    3 rr
    5 ee
    4 ww

    1 xx
    2 ss
    3 rr
    6 tt
    5 ee
    4 ww

    但是我只导入表的结构之后用PHP插入就正常了。但是插入的时候id不是从0开始的,而是一个比较大的数,应该是上次最后使用的id的下一个,这样:
    40 gg
    41 ii
    怎么才能让它从0开始?(或者是1?)

    实在是不想浪费分,我问题比较多,分还是节省一点吧。如果有让我满意的回答的话我会加分的,如果能完全解决的话我会加80分,包括直接删phpmyadmin数据库中的那个表中的记录会不会出问题。


    ------解决方案--------------------
    运行sql:
    alter table '你的表名' AUTO_INCREMENT=1

    前提是当前表数据为空;
    ------解决方案--------------------
    第一个是怎么去掉那条ORDER BY子句
    再点一次

    第二个是用PHP插入的最后一条记录在PHPMyAdmin里查看的时候为什么不是最后一条
    是否看到是最后一条,取决于主键的值和排序方式

    第三个是不加ORDER BY的结果的顺序是不是就是数据库中的物理顺序
    默认排序为主键升序
    可以理解为物理顺序

    插入数据前执行
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    可使“自增”失效,但你需要自行保证主键唯一

    命令
    TRUNCATE TABLE 表名
    可以清空表并使“自增”复位

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nbsp PHPMyAdmin ORDER table PHP

    相关文章推荐

    • 聊聊ChatGPT是啥?PHP怎么使用ChatGPT?• 一文详解PHP用流方式实现下载文件(附代码示例)• PHP反序列化入门总结(小白必看)• PHP原生类的总结分享• 聊聊PHP escapeshellarg函数使用的中文问题
    1/1

    PHP中文网