创建MySQL表列时何时不编写null



在mySQL字段创建中写入"不是null"的区别或好处...

例如,如果我要创建这样的表...

CREATE TABLE IF NOT EXISTS game(
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(128) NOT NULL,
description VARCHAR(200) NOT NULL,
PRIMARY KEY(id)
)

在这里,ID和名称始终具有一个值,因此它们的无效就可以了。我明白了。但是,描述是一个可选的字段,因此可以是空白的。

那么,在这种情况下,我不应该放无效吗?

null和空白字段不是同一回事(除非在某些情况下,您是脑死亡的DBMS 咳嗽 oracle oracle 咳嗽)。

null表示未知或不适用,而空白字段表示良好,已知和空白。

这完全取决于您要如何处理字段本身。例如,让我们考虑名称的中间字母。如果您不希望区分"未知"one_answers"没有一个",请将列设置为NOT NULL,然后使用空白值表示两者 - 可以在某种程度上简化您的查询。

但是,如果您想邮寄所有客户没有中间名(出于任何奇异原因)而又不打扰那些不知道的人如果他们有一个,则需要能够区分在两个类之间。

首先,在您的情况下,如果您不将数据插入数据库,则实际上不必放入null,如果您不将数据插入,则不需要null但是,正如Paxdiablo前面提到的那样,它必须将值放置到该字段,该值并不意味着空白字段,因为空白字段可能是很多空间或一个空间。无论如何,如果不是必须在某个字段中具有值,那么您真的不必不将其放置。

我的意见是, NOT NULL是针对那些具有依赖性的领域,例如主键,外键。

我以前在函数中工作的工作(a,b,c,d,e);如果没有输入外键值,它将执行,但返回无结果,并且自动increment值增加。这不是一个好习惯。如果使用NOT NULL,当外键值为 NULL时,将停止插入,则不会增加auto_increment值。

加法

要处理父记录删除,有一个级联操作,或者您可以将其手动更新为记录。

相关内容

  • 没有找到相关文章

最新更新