webentwicklung-frage-antwort-db.com.de

Laravel 5.5 Fehler Basistabelle oder Ansicht existiert bereits: 1050 Tabelle 'Benutzer' existiert bereits

Technische Daten:

  • Laravel Version: 5.5.3
  • PHP Version: 7.1
  • Datenbanktreiber & Version: MariaDB 10.1.26

Beschreibung:

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

Schritte zum Reproduzieren:

 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

Problem

Es erstellt eine Benutzertabelle und gibt einen Fehler aus, erstellt jedoch keine Listentabelle

Ich habe mein Problem selbst gelöst, indem ich meine create_users_table.php geändert habe

<?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');
    }
}

Hier sind die Schritte, die ich unternommen habe, um das gleiche Problem zu lösen:

  1. In die Konsole habe ich geschrieben php artisan tinker

  2. Dann, wieder in der Konsole, Schema::drop('users')

  3. Am Ende php artisan migrate Hat alles geklappt.

12
Kaloyan Drenski

Der folgende Befehl hat mein Problem gelöst:

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

Hier sind die Schritte, die ich unternommen habe, um das gleiche Problem zu lösen:

  1. pHP Handwerker machen: Migration create_tableName_table --create = tableName.

  2. pHP-Handwerker migrieren.

  3. fehler angezeigt, können Sie alle Dateien in der Migration und alle Tabellen in der Datenbank löschen.

  4. erstelle eine neue Tabelle als 1.

  5. fertig. okay.

2

Um dieses Problem auf einfache Weise zu lösen, führen Sie den folgenden Befehl aus

php artisan migrate: fresh

0
suman

Hierfür gibt es zwei mögliche Lösungen, die unter diesem Link aufgeführt sind:

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

Erstens ist Rollback

pHP-Handwerker migrieren: Rollback

Zweitens ist das Ablegen von Tischen.

0
smzapp

löschen Sie diese Spalten einfach zuerst aus der Datenbank. und führe composer update aus. und führe dann schließlich php artisan migrate aus, um dein Problem zu lösen. die einfachste Lösung für dein Problem.

0
james

Ich habe eine andere Lösung, ich lösche die Migrationstabelle, hier meine Lösung

<?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

Lösung:

  1. Gehe auf Datenbank -> phpmyadmin wenn du auf localhost bist
  2. Löschen Sie alles in der Datenbank, die Sie erstellt haben
  3. Auf cmd starte php artisan migrate
0
besartm