【问题标题】:database error after adding new column添加新列后出现数据库错误
【发布时间】:2017-09-08 04:57:50
【问题描述】:

我创建了一个登录和注册表单。但是我忘了添加一列。所以,我想添加一个名为“contactNumber”的新列。为了添加列,我在 cmd.exe 中编写了一个名为 php artisan migrate:refresh 的命令,并在迁移文件夹中的 create_users_table 处编写了代码。但是,新列的值不会进入 mysql 数据库。我做错了什么?

【问题讨论】:

    标签: mysql laravel laravel-migrations


    【解决方案1】:

    您需要将新列添加到模型中,因此在您的 User 类中您需要这样做:

    protected $fillable = [
        'name', 'email', 'password', 'contactNumber'
    ];
    

    希望有帮助

    【讨论】:

      【解决方案2】:

      您正尝试在数据库中插入一条新记录,但 contactNumber 列没有默认值。在迁移文件中,您可以将 nullable 添加到该列,例如。

      $table->string('contactNumber')->nullable();
      

      或直接从 GUI 中的数据库中。

      【讨论】:

        【解决方案3】:

        对于这种类型的场景,我个人会像这样创建新的迁移

        php artisan migrate:make add_column_to_table --table="tableName"
        

        现在要运行新的迁移,请运行此命令。

        php artisan migrate
        

        这将在您的表格中添加新列。也请查看此线程。 https://laracasts.com/discuss/channels/laravel/add-new-column-to-existing-table

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-02
          • 2022-01-10
          • 1970-01-01
          相关资源
          最近更新 更多