怎样给已经建好的表的主键添加自增约束

me阿木 2011-07-12 04:33:11
如题!!
谢谢!!!!!
...全文
952 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
--小F-- 2011-07-12
  • 打赏
  • 举报
回复
--创建测试表
CREATE TABLE t1(ID int IDENTITY,A int)
GO
--插入记录
INSERT t1 VALUES(1)
GO

--1. 将IDENTITY(标识)列变为普通列
ALTER TABLE t1 ADD ID_temp int
GO

UPDATE t1 SET ID_temp=ID
ALTER TABLE t1 DROP COLUMN ID
EXEC sp_rename N't1.ID_temp',N'ID',N'COLUMN'
INSERT t1 VALUES(100,9)
GO

--2. 将普通列变为标识列
CREATE TABLE t1_temp(ID int,A int IDENTITY)
SET IDENTITY_INSERT t1_temp ON
INSERT t1_temp(ID,A) SELECT * FROM t1
SET IDENTITY_INSERT t1_temp OFF
DROP TABLE T1
GO

EXEC sp_rename N't1_temp',N't1'
INSERT t1 VALUES(109999)
GO

--显示处理结果
SELECT * FROM t1
/*--结果:
ID A
----------------- -----------
1 1
100 9
109999 10
--*/
--小F-- 2011-07-12
  • 打赏
  • 举报
回复
先删除 再增加
chuanzhang5687 2011-07-12
  • 打赏
  • 举报
回复
alter table tablename alter 主键 int Identity(1,1) not null
快溜 2011-07-12
  • 打赏
  • 举报
回复
alter table t1 drop column id

alter table t1 add id int identity(1,1)
bancxc 2011-07-12
  • 打赏
  • 举报
回复
没法.
chuanzhang5687 2011-07-12
  • 打赏
  • 举报
回复
图形用户界面 标示 改为 是
源码链接: https://pan.quark.cn/s/17357c9bca6f Mybatis自定义插件生成雪花ID做为主键项目 有关Mybatis雪花ID主键插件前面写了两篇博客作为该项目落地的铺垫。 1、Mybatis框架---Mybatis插件原理 2、java算法---静态内部类实现雪花算法 该插件项目可以直接运用于实际开发中,作为分布式数据库主键ID使用。 一、项目概述 1、项目背景 在生成主键ID时,我们可以考虑主键自增 或者 UUID,但它们都有很明显的缺点 :1、自增ID容易被爬虫遍历数据。 2、分分库会有ID冲突。 : 1、太长,并且有索引碎片,索引多占用空间的问题 2、无序。 雪花算法就很适合在分布式场景下生成唯一ID,它既可以保证唯一又可以排序,该插件项目的原理是 2、技术架构 项目总体技术选型 3、使用方式 在你需要做为主键的属性上添加注解,那么通过插件可以自动为该属性赋值主键ID。 4、项目测试 配置好数据库连接信息,直接启动Springboot启动类,访问就可以看到数据库数据已经有雪花ID了。 如图(图片加载可能会比较慢,如果未加载成功可以点击链接)(图片) 二、项目代码说明 在正式环境中只要涉及到的操作都被该插件拦截,并发量会很大。 所以该插件代码即要保证又要保证。 所以在代码设计上做一些说明。 1、线程安全 这里的线程安全主要是考虑产生雪花ID的时候必须是线程安全的,不能出现同一台服务器同一时刻出现了相同的雪花ID,这里是通过 来保证线程安全的,具体有关生成雪花ID的代码这里就不粘贴。 2、高可用 我们去思考消耗性能比较大的地方可能出要出现在两个地方 其实在这篇博客已经简单测试过,生成20万条数据,大约在1.7秒能满足实际开...
实验四:数据库设计 项目名称:个人博客管理系统 一、数据库分析 E- R图介绍:图中详细画出来了管理员、日志、相册、留言板、个人资料等。其中管理员权 限最高,他可以管理日志、相册、留言板以及个人资料。日志部分可以更新日志,删除 日志,修改日志,查询日志等。相册部分可以添加相册和删除相册。留言板部分可以留 言,增加留言,删除留言。个人资料包括修改个人资料等。管理员与日志之间的关系是 管理员可以对日志进行修改和添加。管理员和相册之间的关系是管理员可以对相册进行 更新和删除。管理员和留言板之间的关系是管理员可以对留言板做出回复功能和删除功 能。管理员和个人资料之间的关系是管理员管理着用户注册的信息。并有删除用户的最 终解释权。 具体如图1所示 二、数据库关系图 数据库关系图介绍:主要分为六个模块。分别为管理员、相册、日志、留言板、协议、 属性。管理员模块有以下几个功能分别是设置密码、用户名、登录时间、引言、管理员 、路径等。相册模块有以下几个功能分别是标题、路径、内容等。日志模块包括以下几 个功能分别是相册内容、更新时间、消息等。留言板模块包括以下几个功能分别是留言 内容、管理留言板、留言协议、留言时间等。个人博客系统的协议模块包括以下几个内 容分别是协议题目、协议内容、注册时间等。属性模块包括有以下几个功能分别是属性 题目等。 具体如图2所示 三、数据库结构 一:用户user "字段名 "描述 "类型 "长度 "是否允许为" " " " " "空 " "id "用户ID(唯一) "int "10 "否,主键, " " " " " "自增量 " "username "用户名(唯一) "varchar "10 "否 " "password "用户密码 "varchar "10 "否 " "jointime "注册时间 "datetime " " " "instroducti"用户简介 "varchar "255 " " "on " " " " " "adminlabel "用户标示 "Bit "1 " " "imagepath "用户头像路径储存 "varchar "255 " " 二:相册images "字段名 "描述 "类型 "长度 "是否允许为" " " " " "空 " "id "相册编号(唯一) "int "10 "否,主键,自" " " " " "增量 " "title "相片标题 "varchar "255 "否 " "imagepath "相片路径 "nvarchar "50 "否 " "content "相片简介 "Nvarchar "255 " " 三:日志acrticle "字段名 "描述 "类型 "长度 "是否允许为" " " " " "空 " "id "日志编号(唯一) "int "10 "否,主键, " " " " " "自增量 " "title "日志标题 "varchar "30 "否 " "content "日志内容 "Varchar "50 "否 " "jointime "添加时间 "Date time" " " "user_id "用户外键关联 "Int " "否 " "articletype"日志分类外键 "int " " " "_id " " " " " 四:留言板message "字段名 "描述 "类型 "长度 "是否允许为" " " " " "空 " "id "留言板编号(唯一) "int "10 "否,主键, " " " " " "自增量 " "content "留言内容 "varchar "255 "否 " "sendtime "添加时间 "Date time" " " "user_id "用户外键 "Int " " " "message_id"自身主键做外键 "int " " " 五:日志回复reply "字段名 "描述 "类型 "长度 "是否允许为" " " " " "空 " "id "日志回复编号(唯一) "int "10 "否,主键, " " " " " "自增量 " "content "日志回复内容 "varchar "255 "否 " "user_id "用户外键 "Int " "否 " "article_id"日志外键 "Int " "否 " "replytime "回复时间 "datetime " " " 六:articletype "字段名 "描述 "类型 "长度 "是否允许为 " " " " " "空 " "id "日志类型编号(唯一) "int "10 "否,主键,自" " " " " "增量 " "Type "日志类型 "varchar "10 " " ----------------------- 个人博客数据库设计(1)全文共4页,当前为第1

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧