使用mysql時,通常表中會有一個自增的id字段,但當我們想將表中的數據清空重新添加數據時,希望id重新從1開始計數,用以下兩種方法均可:
創新互聯是一家專業提供和布克賽爾蒙古企業網站建設,專注與網站制作、網站設計、H5建站、小程序制作等業務。10年已為和布克賽爾蒙古眾多企業、政府機構等服務。創新互聯專業網站建設公司優惠進行中。
方法一:
alter table tablename drop column id;
alter table tablename add id?mediumint(8) not null primary key auto_increment first;
方法二:
alter table?tablename auto_increment=0
方法二不會清空已有數據,操作比較靈活,不僅可以將自增值歸零,也適用于刪除大量連續行后,重新設置自增值并插入新的數據;或從新的值開始,當然不能和已有的沖突。?
$sql="delete?from?$table_vote";?
mysql_query($sql,?$link);?
$sql="alter?table?$table_vote?auto_increment=1";?
mysql_query($sql,?$link);
之前一個表本來有數據的 后面刪除了記錄 但是添加ID后排序不是重1開始的
如果是自增字段,刪除數據,是根據原來的繼續往后排的
1、可以刪除這個字段,重新建立個自增字段就可以了
2、也可以重新設置排序起始
alter table table_name AUTO_INCREMENT=n
例如:
alter table papa_group AUTO_INCREMENT=1
為了給你答題,必須得寫這么多才能通過檢查,要不然根本不讓通過。急用的話直接復制最后一行代碼即可!
我看了下,你這個是需要將正序排列轉為倒序排列吧
mysql中的排序是使用 order by 來排序的,你要根據什么字段排序,就order by 什么字段
所以這里得用 order by ,例如 order by id asc 就是根據id正序排序,那么倒序排序呢?
下面我給你貼出答案:
select?id,zh,zcm,time,ts?from?scc?order?by?id?desc;
一、不清空數據
原理:刪除原有的自增ID,重新建立新的自增ID。
二、如果曾經的數據都不需要的話,可以直接清空所有數據,并將自增字段恢復從1開始計數
表結構如下:
mysql select * from test;
+----+-------+
| id | name |
+----+-------+
| 1 | test1 |
| 2 | test2 |
| 3 | test3 |
| 4 | test4 |
| 5 | test5 |
+----+-------+
執行以下SQL:
mysql select * from test where id in(3,1,5);
+----+-------+
| id | name |
+----+-------+
| 1 | test1 |
| 3 | test3 |
| 5 | test5 |
+----+-------+
3 rows in set (0.00 sec)
這個select在mysql中得結果會自動按照id升序排列,
但是我想執行"select * from test where id in(3,1,5);"的結果按照in中得條件排序,即:3,1,5,
想得到的結果如下:
id name
3 test3
1 test1
5 test5
請問在這樣的SQL在Mysql中怎么寫?
網上查到sqlserver中可以用order by charindex解決,但是沒看到Mysql怎么解決??請高手幫忙,謝
謝!
select * from a order by substring_index('3,1,2',id,1);
本文名稱:mysql怎么做排序id mysql怎么升序排列
URL地址:http://m.newbst.com/article42/dodhjhc.html
成都網站建設公司_創新互聯,為您提供企業建站、ChatGPT、網站排名、標簽優化、Google、網站維護
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯