MySQL如何设置某个字段的值自增

目录
  • 设置某个字段的值自增
  • 查询自增字段相关参数
    • 解释一下这个值得含义

设置某个字段的值自增

由于某个业务需要手动操作数据库,并设置主键ID不重复。做个记录

set @rownum=0;
select a.id, @rownum := @rownum +1 as id from test a;

结果:

查询自增字段相关参数

在mysql中如果要查看自增字段的自增量和初始值,可以用如下sql语句:

SHOW VARIABLES LIKE 'auto_inc%';

可以查出两个结果如下:

解释一下这个值得含义

  • auto_increment_offset表示自增长字段从那个数开始,他的取值范围是1 .. 65535
  • auto_increment_increment表示自增长字段每次递增的量,其默认值是1,取值范围是1 .. 65535

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解MySQL自增主键的实现

    目录 一.自增值保存在哪儿? 二.自增值修改机制 三.自增值的修改时机 四.自增锁的优化 五.自增主键用完了 一.自增值保存在哪儿? 不同的引擎对于自增值的保存策略不同 1.MyISAM引擎的自增值保存在数据文件中 2.InnoDB引擎的自增值,在MySQL5.7及之前的版本,自增值保存在内存里,并没有持久化.每次重启后,第一次打开表的时候,都会去找自增值的最大值max(id),然后将max(id)+步长作为这个表当前的自增值 select max(ai_col) from table_name

  • MySQL字段自增自减的SQL语句示例介绍

    MySQL的自增语句大家应该都很熟悉 也很简单 复制代码 代码如下: update `info` set `comments` = `comments`+1 WHERE `id` = 32 这样就可以了,但是有时候我们会涉及到做减法, 例如:文章的评论数,在删除或者锁定了一条评论之后需要对该文章总评论数减一 comments smallint(5) unsigned 文章评论总数统计字段 无符号即 0 ~ 65535 之间的数值 1. 通常情况下是可以类似上面自增的方法 把 +号 改成 -号 就

  • 关于mysql自增id,你需要知道的

    导读:在使用MySQL建表时,我们通常会创建一个自增字段(AUTO_INCREMENT),并以此字段作为主键.本篇文章将以问答的形式讲述关于自增id的一切. 注: 本文所讲的都是基于Innodb存储引擎. 1.MySQL为什么建议将自增列id设为主键? 如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引.如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引.如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID

  • MySQL如何设置某个字段的值自增

    目录 设置某个字段的值自增 查询自增字段相关参数 解释一下这个值得含义 设置某个字段的值自增 由于某个业务需要手动操作数据库,并设置主键ID不重复.做个记录 set @rownum=0; select a.id, @rownum := @rownum +1 as id from test a; 结果: 查询自增字段相关参数 在mysql中如果要查看自增字段的自增量和初始值,可以用如下sql语句: SHOW VARIABLES LIKE 'auto_inc%'; 可以查出两个结果如下: 解释一下这

  • mysql实现批量修改字段null值改为空字符串

    目录 批量修改字段null值改为空字符串 将某个字段修改为null(从不允许为空not null修改为null) 批量修改字段null值改为空字符串 UPDATE 表名 SET 字段名 = ( CASE WHEN IFNULL(字段名, '') = '' THEN '' ELSE 字段名 END ) WHERE 字段名 IS NULL; 将某个字段修改为null(从不允许为空not null修改为null) 以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们.

  • MySQL 字段默认值该如何设置

    前言: 在 MySQL 中,我们可以为表字段设置默认值,在表中插入一条新记录时,如果没有为某个字段赋值,系统就会自动为这个字段插入默认值.关于默认值,有些知识还是需要了解的,本篇文章我们一起来学习下字段默认值相关知识. 1.默认值相关操作 我们可以用 DEFAULT 关键字来定义默认值,默认值通常用在非空列,这样能够防止数据表在录入数据时出现错误. 创建表时,我们可以给某个列设置默认值,具体语法格式如下: # 格式模板 <字段名> <数据类型> DEFAULT <默认值>

  • mysql更新一个表里的字段等于另一个表某字段的值实例

    如下所示: update table1 as z left join table2 as zb on z.zcatId = zb.zcatId set z.zcatName = zb.zcatName where z.zcatName is null; 以上这篇mysql更新一个表里的字段等于另一个表某字段的值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • mysql update case 更新字段值不固定的操作

    在处理批量更新某些数据的时候,如果跟你更新的字段的值都一样,比如某个状态都更新为某个固定值, 直接用update table set xxx=xxx where xxx=xxx 这种即可 如果要更新的字段的值是不固定的,用下面的update case when where 这种方式就更方便了 UPDATE tablename set a1= CASE userid WHEN 1 THEN a1+5 WHEN 2 THEN a1+2 END, a2= CASE userid WHEN 1 THEN

  • Spring Data JPA 设置字段默认值方式

    目录 Spring Data JPA设置字段默认值 Spring Data JPA设置字段默认值失败 Spring Data JPA设置字段默认值 在Column注解中写入以下两个属性,为什么自己查一下文档吧,即可实现字段默认值设置,并顺带解决save方法所生成的sql语句中自动填充字段为null的问题. 默认值无法更新,所以如果想在代码里修改字段默认值,你需要重新建表. @Column(insertable = false,columnDefinition = "int default 1&q

  • mysql设置某字段不能重复问题

    目录 mysql设置某字段不能重复 mysql查询某个字段不重复的所有记录 mysql设置某字段不能重复 alter table novel.novelsort add unique(name); novel是数据库 novelsort是表名 name是字段名 mysql查询某个字段不重复的所有记录 select a.id,a.ip,a.creationTime from myTable a right join ( select max(id) id from myTable group by

  • Mysql中如何批量替换某个字段的值:replace

    目录 如何批量替换某个字段的值:replace 批量替换某个字段的部分数据 如何批量替换某个字段的值:replace 例如我们有一个表: mxd_goods 中字段goods_pic的值要全部去掉goods/ 现在要将该表中的所有goods_pic字段的值去掉goods/. 那么我们怎么来做呢? update  mxd_goods set goods_pic= replace(goods_pic, 'goods/', ''); 注:goods_pic是表字段值,goods/ 是被替换的值,即搜索

  • mysql 列转行,合并字段的方法(必看)

    数据表: 列转行:利用max(case when then) max---聚合函数 取最大值 (case course when '语文' then score else 0 end) ---判断 as 语文---别名作为列名 SELECT `name`, MAX( CASE WHEN course='语文' THEN score END ) AS 语文, MAX( CASE WHEN course='数学' THEN score END ) AS 数学, MAX( CASE WHEN cour

  • 深入Mysql字符集设置[精华结合]

    基本概念 • 字符(Character)是指人类语言中最小的表义符号.例如'A'.'B'等: • 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encoding).例如,我们给字符'A'赋予数值0,给字符'B'赋予数值1,则0就是字符'A'的编码: • 给定一系列字符并赋予对应的编码后,所有这些字符和编码对组成的集合就是字符集(Character Set).例如,给定字符列表为{'A','B'}时,{'A'=>0, 'B'=>1}就是一个字符集: •

随机推荐