首页 > 其他分享 >我希望gid字段是表的自增主键,数据类型采用8个字节的无符号整形数据,并且我要指定自增的初始值。

我希望gid字段是表的自增主键,数据类型采用8个字节的无符号整形数据,并且我要指定自增的初始值。

时间:2024-10-19 10:48:41浏览次数:1  
标签:自增 AUTO 初始值 BIGINT INCREMENT gid 主键

Sir,为了将 gid 字段设置为自增主键并且采用 8字节无符号整型 数据类型(即 BIGINT UNSIGNED),您可以使用 MySQL 的 AUTO_INCREMENT 机制,并且可以通过 ALTER TABLE 来指定自增的初始值。

具体实现步骤如下:

1. 字段定义

  • 字段名称: gid
  • 数据类型: BIGINT UNSIGNED (8字节无符号整数)
  • 自增属性: 使用 AUTO_INCREMENT
  • 主键: 该字段作为表的主键

2. 指定自增的初始值

MySQL 支持通过 ALTER TABLE 来指定自增字段的起始值。

示例表创建语句

CREATE TABLE your_table_name (
  gid BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  code VARCHAR(255),
  name VARCHAR(255),
  alias VARCHAR(255),
  display VARCHAR(255),
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  created_by BIGINT,
  updated_by BIGINT,
  description TEXT
);

3. 设置自增字段的初始值

假设您希望 gid 字段的自增值从 1000 开始,可以通过以下 ALTER TABLE 语句指定:

ALTER TABLE your_table_name AUTO_INCREMENT = 1000;

解释

  • BIGINT UNSIGNED: 无符号 BIGINT 数据类型,能够存储从 018,446,744,073,709,551,615 的整数,确保字段具有足够的范围。
  • AUTO_INCREMENT: 自动递增的属性,MySQL 会为新插入的记录自动生成一个唯一的值。
  • PRIMARY KEY: 确保 gid 字段作为主键,唯一标识每条记录。
  • AUTO_INCREMENT 初始值: 使用 ALTER TABLE 设置自增字段的起始值,例如从 1000 开始。

注意事项

  • 每个表中只能有一个 AUTO_INCREMENT 字段。
  • 如果不指定初始值,AUTO_INCREMENT 默认从 1 开始递增。
  • 无符号类型 BIGINT UNSIGNED 将允许存储正整数,但不允许存储负数。

通过上述方法,您可以将 gid 字段设置为自增的8字节无符号整型主键,并且指定自增的初始值。这是一个典型的模式,适合大多数需要唯一标识符的表设计。

标签:自增,AUTO,初始值,BIGINT,INCREMENT,gid,主键
From: https://www.cnblogs.com/Tifahfyf/p/18475592

相关文章

  • 【Golang】踩坑记录:make()创建引用类型,初始值是不是nil!!
    文章目录起因二、得记住的知识点1.make()切片,初始化了吗?2.make()切片不同长度容量,append时的差别3.切片是指向数组的指针吗?4.切片扩容时,重新分配内存,原切片的数据怎么办?三、咳咳,总结一下起因序列化的时候居然给我空指针报错,哪nil啦???猛一顿查,查到了创建的结构体......
  • 雪花算法------用于生成数据库中的主键、消息队列的消息ID等的算法-----算法特点,id结
    雪花算法(SnowflakeAlgorithm)是一种由Twitter公司开发的分布式ID生成算法,用于在分布式系统中生成全局唯一的ID。这种算法非常适合需要高并发、低延迟以及大量唯一ID生成的应用场景,比如数据库中的主键、消息队列的消息ID等。雪花算法的主要特点包括:唯一性:生成的ID在全球范围内......
  • SQL Server表中插入失败,自增ID还会增加吗?
    答案是会的。在SQLServer中,如果表的主键是自增(IDENTITY),当插入操作由于某种约束(如UNIQUE约束或FOREIGNKEY约束)失败时,自增的ID值仍会递增,即便插入失败了。举个例子,如果当前表的自增列的值是100,下一次插入操作尝试分配ID101。但如果由于某种原因(比如UNIQUE约束冲突)......
  • ant design react 表单设置初始值及更新表单数据
    importReactfrom'react';import'./index.css';import{Button,Form,Input}from'antd';constApp=()=>{const[form]=Form.useForm();constupdateValue=()=>{//假设我们要更新的字段是'username'......
  • PostgreSQL 创建主键自增表的 DDL
     PostgreSQL创建主键自增表的DDL --社区表DROPTABLEIFEXISTSpublic.t_community;CREATETABLEpublic.t_community(idbigserialNOTNULL,grid_idint8NULL,namevarchar(128)NOTNULL,descriptionvarchar(4096)NULL,create_time......
  • MySQL零基础入门教程-8.1 表的连接\增删数据、表结构的增删改、字段约束(非空、唯一
    教程来源:B站视频BV1Vy4y1z7EX001-数据库概述_哔哩哔哩_bilibili我听课收集整理的课程的完整笔记,供大家学习交流下载:夸克网盘分享本文内容为完整笔记的第八篇的第一部分1、表怎么进行连接的P77-P1431、表怎么进行连接的从emp表中取ename,从dept表中取dname,没有条件限制最终查询结果是......
  • 20240923_202514 c语言 自增自减运算符
    演练加加顺序前件优先于后件++a,先自增,再使用值a++,先使用值,后自增多个数据夹在一起测测后果演练演练......
  • 第二百四十一节 JPA教程 - JPA一对一主键连接列示例、JPA一对一映射级联示例
    JPA教程-JPA一对一主键连接列示例例子下面的代码来自Person.java。packagecn.w3cschool.common;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationType;importjavax.persistence.Id;importjavax.pe......
  • GBase 8a支持定义主键
    GBase8a支持定义主键一、哪些数据类型可以定义主键主键列的数据类型支持TINYINT、SMALLINT、INT、BIGINTDECIMAL、NUMERIC、VARCHAR、、DATE、DATETINE、TIME,并且需要事先定义守段类型非空,否则不能创建主键;二、哪些表类型可以定义主键hash分布表哈希分布表的分区表复制......
  • 【Go - 超实用,3行代码实现个自增器】
    场景自增器的作用是生成一个唯一的递增序列号。这在一些需要生成自增id的场景十分有用,比如自增的订单号,任务号,序列号。要点全局统一:在整个服务体系下,多个服务或者进程,都统一调用这个自增器,来获取自增ID。严格自增:避免竞争,写冲突造成写覆盖等,导致不严格自增实现根据上面......