产品规格:
描述:
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
问题
它创建用户表并给出错误但不创建列表
以下是我为解决同一问题所采取的步骤:
php artisan tinker
Schema::drop('users')
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');
}
}
以下是我为解决同一问题所采取的步骤:
解决此问题的简单方法是运行以下命令
php artisan migrate:新鲜
以下命令解决了我的问题:
1. php artisan tinker
2. Schema::drop('your_table_name')
3. php artisan migrate
我有不同的解决方案,我删除迁移表,这里是我的解决方案
<?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');
}
}
只需先从数据库中删除这些列。并运行composer update。然后最后运行php artisan migrate它会解决你的问题。最简单的解决方案。
如此链接所述,有两种可能的解决方案:
https://www.codespeaker.com/laravel-framework/solutions-for-common-errors-on-artisan-commands/
首先是回滚
php artisan migrate:rollback
第二是放弃桌子。
解:
php artisan migrate