扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
使用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);
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流