【问题标题】:SQL Server Management Studio Null valuesSQL Server Management Studio 空值
【发布时间】:2021-01-18 11:02:41
【问题描述】:

我试图了解 SQL 中的空值是什么。请参阅以下屏幕截图。

我的问题是:如果我允许为空,是否意味着它为空?我的意思是,如果我填写方框(见图)是否意味着它是空的?

【问题讨论】:

  • 顺便说一句:NULL 真的不是一个值 - 它是一个值的缺失,真的。所以如果一个列是NULL,这意味着还没有为这个列定义值....
  • 感谢您的回答,但是如果我填写“允许 Nulls”下的框,它会变成 Null 吗?希望你明白我的意思...
  • 如果您选中“允许 Nulls” - 那么您允许该列为空/未定义。如果您尚未选中此框,则您要求该列始终具有非 NULL 值
  • 啊我现在明白了!你帮了大忙!

标签: c# sql-server database ssms


【解决方案1】:

如果不为允许空值的列指定值,则在插入或更新后变为空。也可以指定列的默认值,看我的截图。

【讨论】:

  • 我明白了,我需要另一件事的帮助。我想防止重复插入数据库,你知道一个简单的方法吗?
  • 在您不想重复的列上添加主键或唯一索引。
  • 但是这种情况下的主键是Id,我的表只包含ID和CategoryName,我不想要CategoryName的任何重复项。而且由于 id 是主键,我不能将另一个设置为主键吗?
  • 向该字段添加唯一索引。 stackoverflow.com/questions/5181877/…
【解决方案2】:

设置nullnot null 不会更改数据中任何内容的值。

它只是指定您是否可以将insertupdate 值设置为NULL

【讨论】:

  • 感谢您的回答,但是如果我填写“允许 Nulls”下的框,它会变成 Null 吗?希望你明白我的意思...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-18
  • 2013-03-27
  • 1970-01-01
相关资源
最近更新 更多