为什么我应该使用/不使用可空字段 Laravel - MySQL

Chr*_*hvh 5 php mysql laravel

我的 mySQL 数据库中有Address table一些字段。

在我的表单上,我要求用户输入这些字段的值。但street field is not required. 因此,当我提交表单时,我的数据库中的 Column Street 就是空的。如果不将列设置为接受 NULL ,这可以正常工作并且不会出现错误。

所以我的问题是:

将 Street 列设置为可为空有什么好处?

不带 nullable 的迁移示例 (Laravel):

$table->string('street');
Run Code Online (Sandbox Code Playgroud)

可为 null 的迁移示例

$table->string('street')->nullable();
Run Code Online (Sandbox Code Playgroud)

两者都工作正常。

Ale*_*nin 4

在可能的情况下使用显式而不是隐式只是一个好习惯。所以我会继续nullable检查is_null()是否为空。

通过这种方法,您可以获得更少的错误、更具可读性的代码等。