ITXP365(智码IT网)

分享电脑知识,传播IT技巧

致敬爱学习的您,祝您访问愉快!

insert的时候给一张表的自增ID字段显式的设置值会发生什么情况?


发布:智码IT网   阅读:
我们都知道自增ID字段,在插入数据的时候是不需要显示的为其指定值的,数据库系统会自己按照增量计算出ID的值。但是有的时候,比如删除了某条记录了,ID的值空缺了,希望利用这个空余的ID值的时候,我们就可能会显示的指定ID字段的值。这样的话,数据库会允许我们这样操作吗?

做个实验,分别在SqlServer、MySql、Sqlite、Access数据库中建立一张表tb1,表里面包含自增ID主键字段和F1字段,在以上数据库中分别执行INSERT INTO tb1(ID, F1) VALUES (4, 'ggg');插入语句。实验结果如下:

1、SqlServer数据库插入失败,提示错误:当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'tb1' 中的标识列插入显式值。

2、MySql、Sqlite、Access数据库中均能顺利的完成数据的插入操作。

可见SqlServer认为显示的为自增ID字段赋值是不推荐的危险操作,默认禁止这样的操作,如果必须要这样做,则可以将 IDENTITY_INSERT 设置为 ON。具体方法为执行SQL命令脚本:SET IDENTITY_INSERT [tb1] ON;
上一篇:没有了
下一篇:没有了

© 2001-智码IT网 www.itxp365.com版权所有

蜀ICP备2021001527号