表创建时sql – IDENTITY NOT NULL

前端之家收集整理的这篇文章主要介绍了表创建时sql – IDENTITY NOT NULL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
任何人都可以告诉我表创建时的指令IDENTITY NOT NULL是否是冗余的?我的意思是,通过消息来判断

DEFAULT或NULL不允许作为显式标识值.

我会说,声明为IDENTITY的任何列都隐式也被声明为NOT NULL,但我想确保.任何人都可以确认吗?

非常感谢你.

解决方法

sql Server自动添加NOT NULL约束到标识列,尽管他在创建表时没有说明

请考虑下表脚本

create table test(id int identity(1,1),name varchar(1000))

现在从Management Studio生成表的脚本.它生成脚本为

CREATE TABLE [dbo].[test](
    [id] [int] IDENTITY(1,1) NOT NULL,[name] [varchar](1000) NULL
) ON [PRIMARY]

Eventhough NOT NULL约束未在表脚本中指定,默认情况下会添加.标识列永远不会为空.所以NOT NULL约束是默认的

猜你在找的MsSQL相关文章