自增字段必须作为索引首列,通常设为主键;2. 避免手动插入值以防冲突;3. MySQL 8.0+ 自增值持久化,重启不失;4. 自增不保证连续,不可依赖做业务编号;5. 根据数据量选合适类型,推荐 BIGINT 防溢出。
在 MySQL 中使用自增字段(AUTO_INCREMENT)时,虽然能简化主键管理,但如果不注意细节,容易引发问题。下面是一些关键注意事项,帮助你更安全、高效地使用自增字段。
MySQL 要求 AUTO_INCREMENT 字段必须是某个索引的首列,通常是主键或唯一索引。否则会报错。
虽然可以手动为自增字段赋值(如 INSERT 时指定 id),但需格外小心。
入大于当前最大值的数,会更新自增计数器,可能导致后续冲突在 MySQL 8.0 之前,自增值不持久化,重启后可能根据表中最大值重新计算,存在重复风险。
自增字段不能保证连续,中间可能出现“空洞”。
自增字段增长不可逆,一旦达到上限会报错。
基本上就这些。只要不手动干预、选对类型、理解非连续特性,自增字段用起来很省心。关键是别把它当业务逻辑依赖。