用sql自动扩展识别导入数据的方法

对于具有自动增长标识符的数据表,其字段的值是由数据库自动设置的,指导数据非常麻烦。

当我们引导数据时,我们经常想到标识字段中的数据。你是做什么的

有两种方法:

1。使用数据库管理工具删除界面上的表的自动增长标识,引导数据,然后将其更改回接口。(此方法很麻烦,不推荐在移动数据表设置中使用)

2。利用集identity_insert出发identity_insert上(推荐此方法)

集identity_insert { { schema_name } } database_name。表。ON | {OFF}
database_name
指定表所在的数据库的名称。

schema_name
表属于的模式的名称。


包含标识符列的表的名称。

笔记
在任何时候,在一个会话中只有一个表的identity_insert属性可以设置,如果表中有设置这个属性,然后套上identity_insert语句发送到另一个表中,SQL Server将返回一个错误消息,提示设置identity_insert已设置,并报告其属性已设置为在桌子上。

如果插入值大于表的当前标识值,则SQLServer将自动使用新插入的值作为当前标识值。


这套identity_insert的设定在执行或运行时,当它是分析。

管辖权
用户必须有一个表或一个具有更改权限的表。

样品
下面的示例将创建一个表包含标识列,并解释如何使用identity_insert设置填写所造成的识别值的空白删除语句。

复制代码代码如下所示:
使用adventureworks2012;

-创建工具表。
创建表的工具(dbo。
id不是null主键,
varchar(40)非空名


在产品表中插入值。
向dbo.工具(名称)值('screwdriver)
向dbo.工具(名称)值('hammer)
向dbo.工具(名称)值('saw)
向dbo.工具(名称)值('shovel)



在标识值中创建一个空白。
删除工具dbo。
name = 'saw


*选择
从工具dbo。


-尝试插入一个显式的ID值为3;
应返回警告。
向dbo.工具(ID、名称)值(3,'garden铲)


在设置identity_insert。
集identity_insert dbo。工具


尝试插入一个显式的ID值为3。
向dbo.工具(ID、名称)值(3,'garden铲)


*选择
从工具dbo。

-下拉产品表。
表工具dbo。