sql手动自增id

有时候在运维处理数据的时候,需要给某张表插入新的记录,那么需要知道最新插入数据的id,并在最新id的基础上加上id增长步长获取新的id,这个过程往往需要现将max出来加1,再手动补充到sql语句中,很麻烦,而且数据多的时候容易出错。有什么方式可以解决这弊端,其实方法很简单,只需引入一个临时变量即可轻松解决。

1、查询表最大id

sql 复制代码
SET @max_id = (SELECT  MAX(id)  FROM  t_change_record) ;

2、赋值新的id

有时候表结构定义的id使用的是char,那么需要现将字符转成数字再做加法

sql 复制代码
SET @new_id = ( SELECT CONVERT(@max_id,SIGNED)) +1;

3、插入数据

sql 复制代码
INSERT INTO `t_change_record` (`id`, `order_id`, `change_type`, `change_time`, `remarks`, `operator_name`, `create_time`, `update_time`) VALUES (  @new_id, 'xxx', 6,  now(), '核销', 'admin',now(), now());
相关推荐
shushangyun_1 小时前
2026智能采购商城系统选型指南:如何引领企业数字化采购升级
java·大数据·数据库·人工智能·机器学习
dexi.Chi 攻城狮1 小时前
SQL层次查询语法
经验分享·笔记·sql
华山令狐虫2 小时前
DBAPI AI 写 SQL:支持动态 SQL 与参数占位符,自然语言一键生成
数据库·人工智能·sql·dbapi
IvorySQL2 小时前
PG 技术日报|2026-07-04
数据库·人工智能·postgresql·开源
Hoxy.R3 小时前
KingbaseES读写分离高可用集群扩容、备库重建与故障切换实战
运维·数据库
IvorySQL3 小时前
IvorySQL HTAP 实时湖仓接入引擎
数据库·postgresql·开源·htap·ivorysql
忧郁的紫菜3 小时前
WCF+JSON+实体对象与WebService+DataSet效率大比拼
数据库·oracle·json
IvorySQL3 小时前
PostgreSQL 技术日报|2026-07-05
数据库·postgresql
万亿少女的梦1684 小时前
基于SpringBoot的考研学习交流系统设计与开发
spring boot·mysql·vue·系统设计·论坛系统
杨云龙UP4 小时前
MySQL基于XtraBackup物理备份搭建GTID主从复制操作手册
数据库·mysql·xtrabackup·主从复制·备份恢复·还原备份文件