【发布时间】:2021-09-03 00:21:51
【问题描述】:
这是我用来学习的一个新鲜的 laravel 应用程序。没有当前表,因为这将是新的/首次迁移。为什么它给我这个错误:
SQLSTATE[42S21]:列已存在:1060 列名重复 'title' (SQL: 创建表
categories(idbigint unsigned not null auto_increment 主键,titlevarchar(255) 不为空,detailvarchar(300) 不为空,imagevarchar(255) 不为空,titlevarchar(255) 不为空,created_at时间戳为空,updated_attimestamp null) 默认字符集 utf8mb4 collate 'utf8mb4_unicode_ci')
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateCategoriesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('categories', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->string('detail', 300);
$table->string('image');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('categories');
}
}
【问题讨论】:
-
交叉检查数据库的 .env 文件设置。希望您的数据库没有此类别表。
-
它没有。在 phpMyAdmin 中没有“类别”表和“类别”迁移,但是错误表明“标题”列由于某种原因存在两次。
-
你试过
php artisan optimize:clear和composer dump-autoload吗?