mysql id從1開始自增 快速解決id不連續(xù)的問題
mysql id從1開始自增 解決id不連續(xù)
作為一個(gè)強(qiáng)迫癥患者,對(duì)于表格內(nèi)某些行刪除之后,id不連續(xù)這個(gè)問題完全無(wú)法容忍,一開始使用
TRUNCATE TABLE tablename
來(lái)實(shí)現(xiàn)id從頭自增,但是這個(gè)命令同時(shí)也會(huì)清空整個(gè)表,真的是坑爹啊。
后面才發(fā)現(xiàn)了正確的做法:
alter table tablename auto_increment = 1;
這個(gè)命令不會(huì)改動(dòng)現(xiàn)有的表的內(nèi)容和順序,同時(shí)新插入行的id會(huì)先使用已刪除的id,完美填補(bǔ)空缺id。
mysql自增id跳躍解決(不刪除數(shù)據(jù))
問題描述:
從excel中導(dǎo)入大量數(shù)據(jù)到mysql,自增id沒有按順序自增,中間有很多跳過了,由于數(shù)量巨大,不想重新導(dǎo)入
解決思路:
按照id或者時(shí)間按從小到大排序==>獲取行號(hào)==>用行號(hào)替換原來(lái)的id
sql語(yǔ)句:
update tab as t1 join (select id,(@rowno:=@rowno+1) as rowno from tab a,(select (@rowno:=0)) b order by a.id) as t2 SET t1.id=t2.rowno WHERE t1.id=t2.id;
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mysql多個(gè)TimeStamp設(shè)置的方法解讀
timestamp設(shè)置默認(rèn)值是Default CURRENT_TIMESTAMP;timestamp設(shè)置隨著表變化而自動(dòng)更新是ON UPDATE CURRENT_TIMESTAMP;接下來(lái)為您詳細(xì)介紹2012-11-11
MySQL使用B+Tree當(dāng)索引的優(yōu)勢(shì)有哪些
這篇文章主要介紹了MySQL使用B+Tree當(dāng)索引有哪些優(yōu)勢(shì),幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下2021-03-03
MySQL安全配置向?qū)ysql_secure_installation詳解
這篇文章主要介紹了MySQL安全配置向?qū)ysql_secure_installation各項(xiàng)配置的含義,并依據(jù)經(jīng)驗(yàn)給予一了一些建議,需要的朋友可以參考下2014-03-03

