web-dev-qa-db-ja.com

Laravel 5.5エラーベーステーブルまたはビューは既に存在します:1050テーブル 'users'は既に存在します

仕様:

  • Laravelバージョン:5.5.3
  • PHPバージョン:7.1
  • データベースドライバーとバージョン:MariaDB 10.1.26

説明:

C:/Users/user/code/blog/>php artisan migrate

[Illuminate\Database\QueryException]
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists (SQL: create table users (id int unsigned not null aut
o_increment primary key, name varchar(255) not null, email varchar(255) not null, password varchar(255) not null, remember_token varchar
(100) null, created_at timestamp null, updated_at timestamp null) default character set utf8mb4 collate utf8mb4_unicode_ci engine = InnoDB R
OW_FORMAT=DYNAMIC)

[PDOException]
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists

再現手順:

 C:/Users/user/code/blog/>laravel new website

 C:/Users/user/code/blog/>php artisan make:migration create_lists_table --create=lists

 C:/Users/user/code/blog/>php artisan migrate

問題

ユーザーテーブルを作成してエラーを表示しますが、リストテーブルは作成しません

Create_users_table.phpを変更して自分で問題を解決しました

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::dropIfExists('users');
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

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

同じ問題を解決するために私がとったステップは次のとおりです。

  1. コンソールで_php artisan tinker_と書いた

  2. その後、再びコンソールで、Schema::drop('users')

  3. 最後に_php artisan migrate_とそれはすべて機能しました。

12
Kaloyan Drenski

次のコマンドは私の問題を解決しました:

 1. php artisan tinker
 2. Schema::drop('your_table_name')
 3. php artisan migrate
2
ZAFIR AHMAD

同じ問題を解決するために私がとったステップは次のとおりです。

  1. php artisan make:migration create_tableName_table --create = tableName。

  2. pHPアーティザンの移行。

  3. エラーが表示されます。移行のすべてのファイルとデータベースのすべてのテーブルを削除できます。

  4. 新しいテーブルを1として作成します。

  5. 終わります。はい。

2

この問題を解決する簡単な方法は、次のコマンドを実行することです

php artisan migrate:fresh

0
suman

このリンクに記載されているように、これには2つの解決策があります。

https://www.codespeaker.com/laravel-framework/solutions-for-common-errors-on-artisan-commands/

最初はロールバックです

php artisan migrate:rollback

2番目は、テーブルの削除です。

0
smzapp

それらの列を最初にデータベースから削除するだけです。そしてcomposer updateを実行し、最後にphp artisan migrateを実行して問題を解決します。問題の最も簡単な解決策です。

0
james

私は別のソリューションを持っています、移行テーブルを削除します、ここで私のソリューション

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration
{
/**
 * Run the migrations.
 *
 * @return void
 */
public function up()
{
    Schema::dropIfExists('migration');
    Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('email')->unique();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });
}

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

溶液:

  1. データベースに移動-> phpmyadmin使用している場合localhost
  2. 作成したデータベース上のすべてを削除します
  3. Cmdでphp artisan migrateを実行します
0
besartm