1
votes

Erreur Laravel5.4, SQLSTATE [42S01]: La table de base ou la vue existe déjà: 1050 La table 'utilisateurs' existe déjà

Version Laravel: 5.4 Version PHP: 7.0.9 Composer version 1.9.0 XAMP

Description:

Dans Connection.php ligne 647:

SQLSTATE [42S01]: La table ou vue de base existe déjà: 1050 La table 'utilisateurs' existe déjà (SQL: créer une table utilisateurs ( id int unsigned not null clé primaire auto_increment, name varchar (255) non nul, email varchar (255) non nul, password varchar (255) non nul, Remember_token varchar (100) nul, created_at horodatage nul, updated_at tim estamp null) jeu de caractères par défaut utf8mb4 collate utf8mb4_unicode_ci)

Dans Connection.php ligne 449:

SQLSTATE [42S01]: La table ou vue de base existe déjà: 1050 La table "utilisateurs" existe déjà

Problème: J'ai créé des modèles et des tableaux d'utilisateurs et de produits. Il a réussi à créer les migrations et les tables, mais n'a pas réussi à migrer sur phpmyadmin sql.

Étapes que j'ai essayées: J'ai abandonné toute la base de données et l'ai recréée mais elle donne toujours une erreur. J'ai aussi utilisé bricoler mais l'erreur est la même.

code:

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


3 commentaires

avez-vous deux migrations où vous avez Schema :: create ('users', ... ?


J'ai deux migrations, Utilisateurs et Produits. Dans l'utilisateur, j'ai Schema :: create ('users', function (Blueprint $ table) et In Products j'ai Schema :: create ('products', function (Blueprint $ table)


quels packages utilisez-vous?


3 Réponses :


1
votes

Essayez d'ajouter la condition suivante avant Schema::create()

if (!Schema::hasTable('users')) {
        Schema::create('users',...)
}

0 commentaires

0
votes

Dans votre fichier de migration de table users , ajoutez cette ligne dans la méthode up ()

    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();
     });
    }

Comme ceci

    Schema::dropIfExists('users');


0 commentaires

0
votes

Vérifiez votre table de migration si la table "User" y est enregistrée, supprimez-la puis effectuez une seule migration à l'aide de cette commande artisanale

php artisan migrate:reset 

Ou réinitialisez la migration en utilisant ce qui suit, puis migrer à nouveau

php artisan migrate:refresh --path=/database/migrations/fileName.php


0 commentaires