繁体   English   中英

SQL Server IS_NULLABLE

[英]SQL Server IS_NULLABLE

早上好,

只是一个简单的问题,这个领域实际上意味着什么?

我正在尝试创建遵循此标准的导出脚本:

 lname   varchar(30)     **NOT NULL**,

因此,如果姓氏is_nullable = yes,那么我将在*代码中放置NULL而不是NOT NULL。

非常感谢,乔尔

lname   varchar(30)     NOT NULL

表示字段lname不允许使用NULL值。

lname   varchar(30)     NULL

另一方面意味着允许NULL值。

用于CREATE TABLE状态的文档

<column_definition> ::=
column_name <data_type>
    [ FILESTREAM ]
    [ COLLATE collation_name ] 
    [ SPARSE ] 
    [ NULL | NOT NULL ]
    [ 
        [ CONSTRAINT constraint_name ] DEFAULT constant_expression ] 
      | [ IDENTITY [ ( seed ,increment ) ] [ NOT FOR REPLICATION ] 
    ]
    [ ROWGUIDCOL ] [ <column_constraint> [ ...n ] ] 

进一步解释

NULL | NOT NULL

确定是否在该列中允许使用空值。 严格来说,NULL不是严格的约束,但可以像NOT NULL一样指定。 仅当还指定了PERSISTED时,才能为计算列指定NOT NULL。

[ ]括号中的意思是你没有指定任何,但考虑到周围的默认(参见“空性规则在表定义”,在上面的链接)什么规则的复杂性,你可能会更好过总是说你要哪个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM