为什么SSMS / SQL Server中新表中的列在未指定时默认为NULL?

问题描述 投票:0回答:1

每次创建表或导入数据时,我期望它为空,但它却充满了 NULL。是否有某个地方可以控制这种行为?

我研究了“SET ANSI_NULL_DFLT_ON”和“SET ANSI_NULLS”

但这并不能控制我正在经历的行为。

为了演示,该语句不应创建空值,但它却创建了

CREATE TABLE Emails 
(
    ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY, 
    Name VARCHAR(255) NOT NULL,
    Email1 VARCHAR(255)
);

INSERT INTO Emails (Name)
    SELECT Name FROM Contacts;

从此表中选择将返回:

其中充满了我没有放入其中的空值。

感谢您的帮助。

sql-server default
1个回答
-2
投票

由于用户没有任何指定的电子邮件,因此他们将在您的数据库中显示为空。

当字段为空时,将显示为NULL。

© www.soinside.com 2019 - 2024. All rights reserved.