有時(shí)候我們?cè)跍y(cè)試網(wǎng)站的時(shí)候,刪除測(cè)試數(shù)據(jù)導(dǎo)致id不是從0開始,那如果想id是從0開始怎么辦呢?
創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為陵川等服務(wù)建站,陵川等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為陵川企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
mysql默認(rèn)自增ID是從1開始了,但當(dāng)我們?nèi)绻胁迦氡砘蚴褂胐elete刪除id之后ID就會(huì)不會(huì)從1開始了.
使用mysql時(shí),通常表中會(huì)有一個(gè)自增的id字段,但當(dāng)我們想將表中的數(shù)據(jù)清空重新添加數(shù)據(jù)時(shí),希望id重新從1開始計(jì)數(shù),用以下兩種方法均可.
通常的設(shè)置自增字段的方法,創(chuàng)建表格時(shí)添加:
create table table1(id int auto_increment primary key,...)
創(chuàng)建表格后添加:
alter table table1 add id int auto_increment primary key 自增字段,一定要設(shè)置為primary key.
例子,代碼如下:
alter table tablename drop column id;
alter table tablename add id mediumint(8) not null primary key auto_increment first;//phpfensi.com
方法二:alter table tablename auto_increment=0
就我所知這個(gè)好像無(wú)法實(shí)現(xiàn),就算你自己編譯mysql恐怕也很難。因?yàn)閘ast_insert_id()這個(gè)內(nèi)置的函數(shù)返回最近一次插入的自增長(zhǎng)ID,當(dāng)沒有符合條件的ID時(shí),它返回0,所以如果自增長(zhǎng)從0開始的話,這個(gè)返回值就很難判定到底是插入了一條自增長(zhǎng)ID為0的記錄還是沒有符合條件的記錄了。
可以肯定用[0-9]是不行的,應(yīng)該下面這樣:
SELECT * FROM WEB.CLUBUSER WHERE USER REGEXP '^[0-9]'
上面的語(yǔ)句是剛才我查詢我網(wǎng)站中數(shù)字開頭的注冊(cè)用戶,運(yùn)行成功的。REGEXP是正則表達(dá)式語(yǔ)法,無(wú)需定界符。
可以用varchar之類的字符串類型去保存
或者是 用int去定義 例:
create table test (id int(10) zerofill);
insert into test values(100);
那么實(shí)際存的值就會(huì)是 0000000100;
這里的意思就是說,當(dāng)存入的值位數(shù)沒有查過10 的時(shí)候(int(10)中定義的長(zhǎng)度)缺少幾位就用0填補(bǔ)上
標(biāo)題名稱:mysql怎么以0開頭的,mysql以什么開頭
文章路徑:http://chinadenli.net/article34/phggse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、做網(wǎng)站、網(wǎng)站改版、企業(yè)建站、網(wǎng)站維護(hù)、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)