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());
相关推荐
拄杖忙学轻声码10 分钟前
mysql脚本查询数据,符合指定条件的排在数据列表最前面,实现方式
mysql
IT策士13 分钟前
Redis 从入门到精通:Python 操作 Redis 进阶
数据库·redis·python
IvorySQL20 分钟前
PostgreSQL 技术日报 (6月8日)|索引预取迭代,AI 安全功能上新
数据库·人工智能·sql·安全·postgresql
阿正的梦工坊28 分钟前
【Rust】05-结构体、枚举与模式匹配
java·数据库·rust
cjp56029 分钟前
006.WEB_API使用本地数据库 SQLite + Dapper 入门教程
数据库·sqlite
新新学长搞科研32 分钟前
【广东省博促会主办】2026年第七届先进材料与智能制造国际学术会议(ICAMIM 2026)
大数据·前端·数据库·人工智能·物联网
睡不醒男孩03082334 分钟前
CLup篇之PostgreSQL管理
数据库·postgresql
瀚高PG实验室34 分钟前
数据库启动报错:42501: 无法打开共享内存段 “/PostgreSQL.******“: 权限不够
数据库·postgresql·瀚高数据库
持敬chijing1 小时前
Web渗透之SQL注入-SQLMAP使用笔记
数据库·sql·安全·web安全·网络安全·网络攻击模型
瀚高PG实验室1 小时前
流复制备库停机维护前检查步骤
数据库·瀚高数据库·highgo