› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
wsh1108
V2EX  ›  MySQL

删除某些行后,自增的字段怎么重新排序?从第一行开始

  •  
  •   wsh1108 · Jan 23, 2019 via Android · 5283 views
    This topic created in 2807 days ago, the information mentioned may be changed or developed.

    rt,谢谢

    8 replies  •  2019-02-22 18:17:29 +08:00
    itqls
        1
    itqls  
       Jan 23, 2019
    别用自增主键,自己定义一个变量
    这种问题问 google..
    GeekCourse
        2
    GeekCourse  
       Jan 23, 2019 via Android   ❤️ 1
    手动修改表的自增初始值
    chro008
        3
    chro008  
       Jan 23, 2019   ❤️ 1
    这样是不是个解决的办法? 删掉自增主键,新建自增主键
    ALTER TABLE xxx DROP id;
    ALTER TABLE xxx ADD id int(10) NOT NULL FIRST;
    ALTER TABLE xxx MODIFY COLUMN id int(10) NOT NULL AUTO_INCREMENT,ADD PRIMARY KEY(id);
    chro008
        4
    chro008  
       Jan 23, 2019
    如果有好的方法麻烦 @我一下
    ynyyn
        5
    ynyyn  
       Jan 23, 2019
    当我还有强迫症的时候我也这样做。
    LinInV2
        6
    LinInV2  
       Jan 23, 2019
    @itqls 定义的这个变量和业务有关,并且后续不会其他列做二级索引,我觉得不用自增主键可以。
    不然一般情况下肯定是使用 自增主键的。
    MySQL 的底层数据结构 B+树 的特性使
    c4f36e5766583218
        7
    c4f36e5766583218  
       Feb 22, 2019
    @chro008 删除 id 的方法不太好,如果其它表用了这个做外键的话。

    条件:有外键的地方需要```UPDATE CASCADE```,不然调整了 id 就数据出错了
    ```
    SET @rowNum = 0; update xxx set id=(@rowNum := @rowNum + 1) order by id;
    /* ↑这里 order 会起到按原先 id 排序调整的作用吗? */
    ALTER TABLE xxx AUTO_INCREMENT = new_in;
    /* ↑这里的 new_in 貌似没法传变量,需手动设值;或者删除自增再添加自增试试 */
    ```
    c4f36e5766583218
        8
    c4f36e5766583218  
       Feb 22, 2019
    这里 order 会起到按原先 id 排序调整的作用吗? ->
    这里 order 会起到按原先 id 排序调整的作用吗?还是写了也没用?还是不需要写,本来就是按原先 id 排序调整?(没研究过
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   808 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 22:27 · PVG 06:27 · LAX 15:27 · JFK 18:27
    ♥ Do have faith in what you're doing.