这样是不是个解决的办法? 删掉自增主键,新建自增主键 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
2019-01-23 13:57:26 +08:00
如果有好的方法麻烦 @我一下
ynyyn
2019-01-23 14:35:49 +08:00
当我还有强迫症的时候我也这样做。
LinInV2
2019-01-23 15:01:28 +08:00
@itqls 定义的这个变量和业务有关,并且后续不会其他列做二级索引,我觉得不用自增主键可以。 不然一般情况下肯定是使用 自增主键的。 MySQL 的底层数据结构 B+树 的特性使
条件:有外键的地方需要```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
2019-02-22 18:17:29 +08:00
这里 order 会起到按原先 id 排序调整的作用吗? -> 这里 order 会起到按原先 id 排序调整的作用吗?还是写了也没用?还是不需要写,本来就是按原先 id 排序调整?(没研究过
第 1 页 / 共 1 页
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。