sql 表有没有自增列,插入自增列值

本文介绍如何在SQL中创建带有自增列的表,并提供了一种检查表中是否存在自增列的方法。此外,还展示了如何手动插入特定值到自增列。

创建一个表

create table demoTb
(
	ID int identity(1,1) primary key,
	name varchar(30)
) 

  查看有没有自增列  有就返回YES

IF ((SELECT OBJECTPROPERTY( OBJECT_ID(N'demoTb'), 'TableHasIdentity')) = 1)
    PRINT 'Yes'
ELSE
    PRINT 'No'

  如果想插入自增列的值就

declare @tableName varchar(250)
declare @sql nvarchar(1000)
select @tableName = 'demoTb'
select @sql ='SET IDENTITY_INSERT  '+@tableName+' ON' +char(13)+'insert into demoTb(id,name) values(2,''wu'')'
print @sql
exec sp_executesql  @sql
insert into demoTb(id,name) values(1,'wu')
select  * from demoTb

  

转载于:https://www.cnblogs.com/li-peng/archive/2013/01/11/2855883.html

### 如何在SQL中向添加增列 #### MySQL添加增列 在 MySQL 数据库中,可以通过 `ALTER TABLE` 语句为已有的添加一个增列。以下是实现此功能的标准语法: ```sql ALTER TABLE table_name ADD new_column INT AUTO_INCREMENT PRIMARY KEY; ``` 这条语句的作用是为名为 `table_name` 的新增加一 `new_column`,其数据类型为整数 (`INT`) 并具有自动递增特性 (`AUTO_INCREMENT`) 和主键约束 (`PRIMARY_KEY`) [^1]。 需要注意的是,在执行上述命令之前应确保目标尚未存在其他主键定义,因为每张仅允许有一个主键字段。 #### SQL Server 中添加增列插入特定 对于 Microsoft SQL Server 而言,过程稍显复杂一些。首先也是利用 `ALTER TABLE` 添加带身份标识(即自增性质)的新: ```sql ALTER TABLE TableName ADD NewColumnName INT IDENTITY(1,1); ``` 这里 `(1,1)` 参数分别代起始与增量步长,默认情况下这两个参数分别为1和1 [^4]。 然而当面对需要保留原有记录ID一致性的情况时,则不能简单依赖于默认的IDENTITY机制来自动生成数,而是要按照如下流程处理: 1. 开启对该格的身份插入权限; 2. 明确指派具体数给这些新加入的行; 3. 完成后记得关闭刚才开启的功能以防误操作影响其它事务逻辑正常运行。 实际操作演示如下所示: ```sql SET IDENTITY_INSERT TableName ON; INSERT INTO TableName (NewColumnName, ColumnA,...) VALUES (SpecificValueForIdentityColumn, ValueForColumnA,...); SET IDENTITY_INSERT TableName OFF; ``` 另外如果发现某些时候由于业务需求或者其他原因造成现有的identity column里面的最大编号不符合预期或者出现了断层等问题的话还可以考虑重新设定seed value来调整未来的增长序起点位置 [^3]: ```sql DBCC CHECKIDENT('TableName', RESEED, NewSeedValue); ``` 以上就是在不同类型的RDBMS环境下完成相同目的——也就是往现存关系型数据库里的某个既定结构对象追加具备连续唯一性的额外维度属性的操作办法总结说明文档内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值