sql自增长设置与删除的深入分析
SQL 设置 删除 增长 深入分析
2023-06-13 09:15:00 时间
identity(1,1)是指每插入一条语句时这个字段的值增1,
语法
IDENTITY [ ( seed , increment ) ]
参数
seed
装载到表中的第一个行所使用的值(标示种子)。
increment
增量值,该值被添加到前一个已装载的行的标识值上(标示增量)。
必须同时指定种子和增量,或者二者都不指定。如果二者都未指定,则取默认值 (1,1)。
例如:
createtableWorkRoom
(WorkRoomIDintnotnullidentity(1,1)primarykey,
WorkRoomNameVarchar(50)null,
TeacherNameVarchar(10)null,
WorkRoomManagerVarchar(10)null,
WorkRoomPlanVarchar(max)null,
PurlVarchar(50)null,
RemarksVarchar(max)null,
)
修改s创建标示和删除标示:
ALTERTABLETABLENAMEDROPCOLUMNID
ALTERTABLETABLENAMEADDIDintidentity(1,1)notnull
如何用sql语句去掉列的自增长(identity)
========================================
如何用sql语句去掉列的自增长(identity),取消标识命令:
**无法通过alter把现有自增字段改为非自增
比如altertableaalteridint,自增属性不会去掉
通过修改系统表可以做到(此法可能有不可预知的结果,慎之...)
sp_configure"allowupdates",1
GO
reconfigurewithoverride
GO
updatesyscolumnssetcolstat=colstat&0x0000
whereid=object_id("表名")andname="字段名"
GO
sp_configure"allowupdates",0
---------------------------------
--折中的办法
altertableaaddxxxint
updateasetxxx=id
altertableadropcolumnid
execsp_rename"xxx","id","column"
========================================
第一个方法是可以去掉,但以后可能会导致出问题,建议用第二个方法,我用的语句现在也贴出来,也许需要的朋友有些用处
删除表zx_user中字段userid的自增长属性方法:
//新建临时字段
altertablezx_useradduseridtmpintnull
//赋值
updatezx_usersetuseridtmp=userid
//删除主键
altertablezx_userdroppk_zx_user
//删除字段
altertablezx_userdropcolumnuserid
//增加字段
altertablezx_useradduseridintnull
//把值还原回来
updatezx_usersetuserid=useridtmp
//删除临时字段
altertablezx_userdropcolumnuseridtmp
//修改新建字段不为空
altertablezx_useraltercolumnuseridintnotnull
//健主键,多个字段做主键,用逗号隔开,比如primarykey(userid,xxxxxx)
altertablezx_useraddprimarykey(userid)
========================================
删除主键时候,不知道你主键名字,请用一下方法查询:
select*fromsysobjectswherextype="PK
装载到表中的第一个行所使用的值(标示种子)。
increment
增量值,该值被添加到前一个已装载的行的标识值上(标示增量)。
必须同时指定种子和增量,或者二者都不指定。如果二者都未指定,则取默认值 (1,1)。
例如:
createtableWorkRoom
(WorkRoomIDintnotnullidentity(1,1)primarykey,
WorkRoomNameVarchar(50)null,
TeacherNameVarchar(10)null,
WorkRoomManagerVarchar(10)null,
WorkRoomPlanVarchar(max)null,
PurlVarchar(50)null,
RemarksVarchar(max)null,
)
修改s创建标示和删除标示:
ALTERTABLETABLENAMEDROPCOLUMNID
ALTERTABLETABLENAMEADDIDintidentity(1,1)notnull
如何用sql语句去掉列的自增长(identity)
========================================
如何用sql语句去掉列的自增长(identity),取消标识命令:
**无法通过alter把现有自增字段改为非自增
比如altertableaalteridint,自增属性不会去掉
通过修改系统表可以做到(此法可能有不可预知的结果,慎之...)
sp_configure"allowupdates",1
GO
reconfigurewithoverride
GO
updatesyscolumnssetcolstat=colstat&0x0000
whereid=object_id("表名")andname="字段名"
GO
sp_configure"allowupdates",0
---------------------------------
--折中的办法
altertableaaddxxxint
updateasetxxx=id
altertableadropcolumnid
execsp_rename"xxx","id","column"
========================================
第一个方法是可以去掉,但以后可能会导致出问题,建议用第二个方法,我用的语句现在也贴出来,也许需要的朋友有些用处
删除表zx_user中字段userid的自增长属性方法:
//新建临时字段
altertablezx_useradduseridtmpintnull
//赋值
updatezx_usersetuseridtmp=userid
//删除主键
altertablezx_userdroppk_zx_user
//删除字段
altertablezx_userdropcolumnuserid
//增加字段
altertablezx_useradduseridintnull
//把值还原回来
updatezx_usersetuserid=useridtmp
//删除临时字段
altertablezx_userdropcolumnuseridtmp
//修改新建字段不为空
altertablezx_useraltercolumnuseridintnotnull
//健主键,多个字段做主键,用逗号隔开,比如primarykey(userid,xxxxxx)
altertablezx_useraddprimarykey(userid)
========================================
删除主键时候,不知道你主键名字,请用一下方法查询:
select*fromsysobjectswherextype="PK
相关文章
- 深入SQL执行计划之CBO查询转换(5):星型转换(Star Transformation)
- spark SQL 内核分析(一)
- 使用OGG for SQL Server微服务快速双向同步SQL Server数据库(双主)
- SQL开发知识:Sql中存储过程的定义、修改和删除操作
- SQL设置SQL Server最大连接数及查询语句
- SQL Server 2000安全配置详解
- 中的应用Oracle数据库中的SQL语句使用指南(sql语句在oracle)
- Oracle中使用SQL删除字段(oracle删除字段sql)
- MySQL与SQL的异同之处(mysql和sql的区别)
- Oracle 视图 V$SQL_PLAN_STATISTICS_ALL 官方解释,作用,如何使用详细说明
- 使用SQL新增MySQL表字段的技巧(mysql新增字段sql语句)
- 语句MySQL删除外键的手段:解除约束的SQL语句(mysql删除外键sql)
- 如何使用MySQL导出SQL语句?(mysql导出sql语句)
- 脚本如何在Linux中执行SQL脚本(linux怎么执行sql)
- Mysql中删除记录的SQL语句(mysql删除sql语句)
- Effortlessly Delete Tables in MySQL with these SQL Commands(mysql删除表sql)
- SQL Server集成技术的使用和优势(sqlserver集成)
- SQL Server精灵:构建轻松卓越的数据库管理系统(sqlserver精灵)
- 鼎信诺拓展SQL Server能力,激发企业潜能(鼎信诺sqlserver)
- 快捷高效:Oracle批量执行SQL脚本技巧指南(oracle批量执行sql脚本)
- MySQL迁移至MS SQL – 营造更稳固的数据库环境(mysql 转mssql)
- 删除MySQL中的SQL语句介绍(删除sql mysql)
- Oracle SQL不容忽视的不为空判断(oracle不为空sql)
- Oracle SQL命运之夜,卡死危机(oracle sql卡死)
- SQL语句执行顺序图文介绍