扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
ID 这字段是表中的 主键吧?
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、网络空间、营销软件、网站建设、曲阜网站维护、网站推广。
那么 可能和其他表 有关联 如果改动了 就要出大问题了
当然了 要是单表的话你可以整
Delid = 26
delete from tablename where id = Delid
update tablename set id = id-1 where id Delid
更新自增的主键值 在 mysql 行的通 其他的 数据库 没试过
-----------------------------------------------------
alter table tablename AUTO_INCREMENT = AUTO_INCREMENT - 1;
将表的 自增 ID 值减 1 即可
第一步:ALTER TABLE `table_name` DROP id
第二步:ALTER TABLE `table_name` ADD id MEDIUMINT(8) NOT NULL FIRST
第三步:ALTER TABLE `table_name` MODIFY COLUMN id MEDIUMINT(8) NOT NULL AUTO_INCREMENT,ADD PRIMARY KEY(id)
通过以上三步就可以实现主键id重新排序!
通过 AUTO_INCREMENT设置
SQL INSERT语句的时候,要避免 指定那个自增的字段.否则会发生主键的冲突。
通过 ALTER TABLE语句 可以修改 自增的数值, 但是只能增加,不能减少。
TRUNCATE TABLE 语句,会将自增ID重置为零。
mysql CREATE TABLE test_create_tab2 (
- id INT AUTO_INCREMENT,
- val VARCHAR(10),
- PRIMARY KEY (id)
- );
Query OK, 0 rows affected (0.09 sec)
mysql INSERT INTO test_create_tab2(val) VALUES ('NO id');
Query OK, 1 row affected (0.03 sec)
mysql select last_insert_id() as id;
+----+
| id |
+----+
| 1 |
+----+
1 row in set (0.00 sec)
mysql INSERT INTO test_create_tab2(val) VALUES ('NO id 2');
Query OK, 1 row affected (0.03 sec)
mysql select last_insert_id() as id;
+----+
| id |
+----+
| 2 |
+----+
1 row in set (0.00 sec)
mysql select * from test_create_tab2;
+----+---------+
| id | val |
+----+---------+
| 1 | NO id |
| 2 | NO id 2 |
+----+---------+
2 rows in set (0.00 sec)
只有几万条数据,那就好办多了,列举个笨方法如下
如果要一次性查出来,需要用递归了,因为不知道你中间的断点会有多少个,所以建议把这个表复制一份,直接对表进行删除操作
直接for循环
for($i ==1;$i你的最大数据条数;$i++){
查询你的记录,是否有等于$i和$i+1的,如果这两条记录同时存在就删除$i编号
}
CREATE TABLE users (
id int(5) NOT NULL auto_increment,
name varchar(20)NOT NULL,
PRIMARY KEY (`id`)
)
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
答案肯定是没有必要这么做啦!你建立自增ID 的原因不就是为了起到唯一索引的目的吗,既然这样 那你就没必要再去人为处理 ID,如果去处理,反而会非常影响性能,何苦呢。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流