SQLSTATE [42S01]:基表或视图已存在:1050为什么我不能删除表

时间:2018-01-12 17:00:03

标签: laravel migration schema

在Connection.php第664行:

SQLSTATE [42S01]:基表或视图已存在:1050表'credit_prop_fees'已存在(SQL:create table credit_prop_feesid int unsigned not null auto_increment primary key,{{1} } int not null,fee_id timestamp null,created_at   timestamp null)默认字符集utf8mb4 collat​​e utf8mb4_unicode_ci)

我有两次迁移 这是第一次

updated_at

正如您在下一次迁移中看到的,我有dropeIfExist()函数

public function up()
    {
        Schema::create('credit_prop_fees', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('fee_id');


            $table->timestamps();
        });
    }

我正在尝试让php artisan迁移 为什么我写Schema :: dropIfExists('credit_prop_fees')时会收到此错误;

即使我使用修补程序,我也有null但删除了表 C:\ OSPanel \ domains \ laravel.bai.loc> php artisan tinker Psy Shell v0.8.17(PHP 7.1.12 - cli)作者:Justin Hileman

  
    
      

架构::降( 'credit_prop_fees');       =>空

    
  

感谢您的回答

2 个答案:

答案 0 :(得分:2)

我不知道你为什么要删除新创建的表,但请尝试:

php arisan migrate:fresh

答案 1 :(得分:0)

与我相同,我通过以下方式解决了它: 使用!Schema :: hasTable('credit_prop_fees'),它将检查数据库中是否已经存在表。

if (!Schema::hasTable('credit_prop_fees')) {
    Schema::create('credit_prop_fees', function (Blueprint $table) {
        $table->increments('id');
            $table->integer('credit_id');
            $table->integer('credit_prop_id');
            $table->integer('fee_type_id');
            $table->integer('fee_value_id');
            $table->timestamps();
    });
}

答案参考在这里:

[https://stackoverflow.com/questions/46129270/laravel-5-5-error-base-table-or-view-already-exists-1050-table-users-already][1]