Laravel无法在mysql

时间:2018-12-03 07:56:46

标签: php mysql laravel laravel-5 eloquent

我无法迁移并在数据库的phpmyadmin中创建新表字段,这是为什么给我这个错误?

我的模式名称设置

这是我的模态,如您所见,我仍然无法插入任何内容,因为phpmyadmin中没有表格。

    <?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Setting extends Model
{
    //
}

我的迁移

这是我的移民

 public function up()
{
    Schema::create('settings', function (Blueprint $table) {
        $table->increments('id');
        $table->string('settings_code');
        $table->string('subject');
        $table->text('description');
        $table->timestamps();
    });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::dropIfExists('settings');
}
  

Illuminate \ Database \ QueryException:SQLSTATE [42S01]:基表或   视图已经存在:1050表'clients'已经存在(SQL:create   表clientsid int unsigned not null auto_increment primary   键,client_code varchar(191)不为空,client_name varchar(191)   不为空,address varchar(191)不为空,tel_no varchar(191)不为   null,contact_person varchar(191)不为null,mobile_no varchar(191)   不为空,email_ad varchar(191)不为空,website varchar(191)不为   null,deleted_at时间戳为null,created_at时间戳为null,   updated_at时间戳为null)默认字符集utf8mb4整理   'utf8mb4_unicode_ci')

我想创建一个新表而不是客户端表,但这给了我这个错误。为什么?

2 个答案:

答案 0 :(得分:3)

运行:php artisan migrate:fresh

被警告,这将删除数据库中存储的所有内容,因此请确保您具有Seeder设置,可以将所有相关内容放回数据库中。

如果在重新迁移时出现“指定密钥太长”错误,请打开AppServiceProvider并添加:

Schema::defaultStringLength(191); into the boot function

确保添加使用Illuminate \ Support \ Facades \ Schema;在AppServiceProvider文件顶部

答案 1 :(得分:0)

您好,尝试从phpmyadmin迁移数据库并再次创建,然后运行php artisan migrate登录到您的表用户,并在BD中手动创建一个用户,并在您的模型中放置可存储的数据