2025/5/6 MySQL 表主键自增 ID 不从 1 开始的问题

实体类id添加

@TableId(type = IdType.AUTO)
@Data
@TableName("announcement")
public class Announcement {
    @TableId(type = IdType.AUTO)  // 关键修改
    private Long announcementId;
    // 其他字段...
}

表sql语句

-- 1. 先删除现有表(谨慎操作,备份数据!)
DROP TABLE IF EXISTS announcement;
-- 2. 重新创建表,设置自增从 1 开始
CREATE TABLE announcement (
  announcement_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '公告id',
  title VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '公告标题',
  content TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '公告内容',
  publish_time DATETIME DEFAULT NULL COMMENT '发布时间',
  expire_time DATETIME DEFAULT NULL COMMENT '过期时间',
  target_role VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '目标角色',
  author_id BIGINT NOT NULL COMMENT '公告作者id',
  PRIMARY KEY (announcement_id),
  KEY fk_id (author_id),
  CONSTRAINT fk_id FOREIGN KEY (author_id) REFERENCES user (user_id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- 3. 再次强制重置
ALTER TABLE announcement AUTO_INCREMENT = 1;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值