本网站主要是放置一些个人的家庭信息和学习资源,方便自己和家人的查询和学习,此外也放置了一些自己常用的网络视频方便自己和家人浏览。

电脑常识

当前位置:首页 > 电脑常识

删除记录并重新排序ID

要实现删除ID为112的记录后,后续ID自动前移以保证顺序完整,需要执行以下步骤:首先删除ID为112的记录然后更新所有大于112的ID,使它们减1最后重置自增ID值以下是完整的SQL操...

要实现删除ID为81的记录后,后续ID自动前移以保证顺序完整,需要执行以下步骤:


首先删除ID为81的记录

然后更新所有大于81的ID,使它们减1

最后重置自增ID值

以下是完整的SQL操作:

-- 删除记录并重新排序ID的完整预处理语句
SET @delete_id = 81;

-- 删除记录
DELETE FROM lys_article WHERE id = @delete_id;
DELETE FROM lys_all_content WHERE id = @delete_id;

-- 更新ID
SET @sql_update1 = 'UPDATE lys_article SET id = id - 1 WHERE id > ?';
PREPARE stmt1 FROM @sql_update1;
EXECUTE stmt1 USING @delete_id;
DEALLOCATE PREPARE stmt1;

SET @sql_update2 = 'UPDATE lys_all_content SET id = id - 1 WHERE id > ?';
PREPARE stmt2 FROM @sql_update2;
EXECUTE stmt2 USING @delete_id;
DEALLOCATE PREPARE stmt2;

-- 重置自增ID
SET @sql_reset1 = CONCAT('ALTER TABLE lys_article AUTO_INCREMENT = ', (SELECT MAX(id)+1 FROM lys_article));
PREPARE stmt3 FROM @sql_reset1;
EXECUTE stmt3;
DEALLOCATE PREPARE stmt3;

SET @sql_reset2 = CONCAT('ALTER TABLE lys_all_content AUTO_INCREMENT = ', (SELECT MAX(id)+1 FROM lys_all_content));
PREPARE stmt4 FROM @sql_reset2;
EXECUTE stmt4;
DEALLOCATE PREPARE stmt4;


相关内容

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

评论排行榜

热门标签

0.0162s