码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • sql server 数据库 设置id 自增


    目录

    一,建表时设置

    1.1 建表时

    1.1.1 通过可视化设置数据表主键自增

    1.1.2 通过SQL语句 创建自增

    二,建表后设置

     问题分析:

    问题解决:


    SQL server 设置列自增长

    一,建表时设置

    建表时有两种方式设置表自增

    1.1 建表时

    建表时有也有两种设置自增方式,第一种是通过可视化客户端设置数据表自增,第二种是通过SQL建表语句设置自增。

    1.1.1 通过可视化设置数据表主键自增

    1.1.2 通过SQL语句 创建自增

    1. CREATE TABLE [dbo].[qc_project_flow_copy1] (
    2. [project_id] int NULL,
    3. [flow_id] int NULL,
    4. [status] int NULL,
    5. [id] int IDENTITY(1,1) NOT NULL,
    6. CONSTRAINT [PK__qc_proje__3213E83F636EBA21] PRIMARY KEY CLUSTERED ([id])
    7. WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
    8. ON [PRIMARY]
    9. )
    10. ON [PRIMARY]
    11. GO
    12. ALTER TABLE [dbo].[qc_project_flow_copy1] SET (LOCK_ESCALATION = TABLE)
    13. GO
    14. EXEC sp_addextendedproperty
    15. 'MS_Description', N'项目ID',
    16. 'SCHEMA', N'dbo',
    17. 'TABLE', N'qc_project_flow_copy1',
    18. 'COLUMN', N'project_id'
    19. GO
    20. EXEC sp_addextendedproperty
    21. 'MS_Description', N'流程ID',
    22. 'SCHEMA', N'dbo',
    23. 'TABLE', N'qc_project_flow_copy1',
    24. 'COLUMN', N'flow_id'
    25. GO
    26. EXEC sp_addextendedproperty
    27. 'MS_Description', N'0为正在使用,1为未使用',
    28. 'SCHEMA', N'dbo',
    29. 'TABLE', N'qc_project_flow_copy1',
    30. 'COLUMN', N'status'
    [id] int  IDENTITY(1,1) NOT NULL,

    可以看到SQL 语句中的id 是自增。 

    二,建表后设置

    如果我们要在已经有了SQL server 数据表后,修改当前表的字段为自增,使用可视化客户端是不能操作的了,需要使用sql 语句来实现了。

    1. ALTER TABLE [表名] DROP COLUMN ID
    2. ALTER TABLE [表名] ADD ID INT IDENTITY(1,1)

    但是我在实操的时候,执行上面的alter table [表名] DROP CLOUMN ID; 就会报下面这个问题

     问题分析:

            原因就是添加realname字段时设置了默认值,导致SQL Server给realname字段关联了'DF__users__realname__1A14E395'约束。只需要删除'DF__users__realname__1A14E395'约束,就可以删除realname字段了。

    问题解决:

    执行以下SQL语句删除'DF__users__realname__1A14E395'约束

    1. ALTER TABLE users
    2. DROP CONSTRAINT DF__users__realname__1A14E395

    这样就删除了字段了,然后在执行创建id sql 语句。

    ALTER TABLE [表名] ADD ID INT IDENTITY(1,1)

    注意:因为真实场景下,我们改动已经存在的表,该表可能已经在使用了,如果要执行删除列操作,会有数据丢失的可能,所以,我们在执行上述代码时,可以先创建一个表结构相同的表,然后执行上述SQL语句,完成后将生成数据插入我们修改后的表。然后在将修改后的表改成生产表的名称。

  • 相关阅读:
    避免项目进度延期,5大有效措施!
    Istio服务网格进阶⑤:Istio服务网格的流量管理之服务熔断
    Java 8 新特性解读及应用实践
    双11网络机顶盒哪个好?数码博主横评20款盘点网络机顶盒排名
    R语言深度学习-4-识别异常数据(无监督学习/自动编码器)
    云原生之K8S------Pod的基础概念
    QT5:调用qt键盘组件实现文本框输入
    Web学习笔记-React(组合Components)
    【GO语言卵细胞级别教程】10.探索Go语言中神奇的Map类型:解密键值对的魔力(含习题)
    20221206今天的世界发生了什么
  • 原文地址:https://blog.csdn.net/qq_41169544/article/details/125006119
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号