当前位置: 首页 > 知识库问答 >
问题:

Laravel错误:SQLSTATE[42S01]:基表或视图已存在:1050表“类别”已存在

尤研
2023-03-14

我不知道问题是什么,由于某种原因,这两个表没有连接,我读了很多文章,尝试了很多仍然不起作用的东西。

我想把帖子和分类表链接在一起,这样当我可以显示帖子中选择的分类时。

  public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->increments('id');
            $table->timestamps();
            $table->string('name');
            $table->text('description');
            $table->integer('category_id');
            $table->integer('price');
            $table->integer('currency_id');
        });
    }

类别

 public function up()
    {
        Schema::create('categories', function (Blueprint $table) {
            $table->id();
            $table->timestamps();
            $table->string('name');
            $table->bigInteger('post_id')->unsigned();
            $table->foreign('post_id')->references('id')->on('posts');
        });
    }

这是我得到的错误:

SQLSTATE[42S01]:基表或视图已存在:1050个表“类别”已存在(SQL:create tablecategoriesidbigint unsigned not null auto\u auto\u increment主键,created\u attimestamp null,Update\uvarchar(255)非空,post\u idbigint unsigned非空)默认字符集utf8mb4 collate'utf8mb4\u unicode\u ci')

共有1个答案

柴丰
2023-03-14

尝试使用migrate:refreshartisan命令完全刷新数据库。

php artisan migrate:refresh --seed

数据库迁移可能在可以在数据库的迁移表中注册之前运行并失败。

问题:(迄今为止)

1) 如上所述,一个migrate:refresh将整理原始错误

2) $table-

解决方案:

将您的post\u id定义更改为

$table->integer('post_id')->unsigned();

 类似资料:
  • 问题内容: 规格: Laravel版本:5.5.3 PHP版本:7.1 数据库驱动程序和版本:MariaDB 10.1.26 描述: 重现步骤: 问题 它创建用户表并给出错误,但不创建列表表 问题答案: 我通过更改我的create_users_table.php解决了自己的问题

  • 问题内容: 我要添加此表: 我得到了1050个“表已经存在” 但是该表不存在。有任何想法吗? 编辑:更多细节,因为每个人似乎都不相信我:) 产量: 1146-表’gunzfact_vbforumdb.contenttype’不存在 和 产量: 1050-表“ contenttype”已存在 问题答案: 听起来好像您有Schroedinger的桌子 … 严重的是,现在您的表可能已损坏。尝试: 如果您

  • 我刚刚克隆了一个Laravel项目。我试图运行作曲家安装和PHP artisan迁移,但都返回此错误 在Connection.php行664中: SQLSTATE[42S02]:基表或视图未找到: 1146表'name.system_functions'不存在(SQL:选择*from其中=测试限制1) 在Connection.php第326行中: SQLSTATE[42S02]:找不到基表或视图:

  • 迁移时出现以下错误: QueryException:基表或视图已存在:1050表“用户”。。。。 我有模型后,但当我迁移数据库它显示此消息。

  • 我创造了一个迁移 任何我写的CMD这个错误是可见的。 [Illumb\Database\QueryException]SQLSTATE[42S02]:找不到基表或视图:1146表“prj_roocket.permissions”不存在(SQL:select*from) [PDOException]SQLSTATE[42S02]:未找到基表或视图:1146表“prj_roocket.permissi

  • 我在我的电脑上安装了homestead,然后我尝试通过本地域访问我的文件。但是当我尝试连接DB时,会显示这个错误。我也无法访问我的其他项目。我把一切都安排得很好。但我不知道为什么给我看这个错误。 注意:我使用的是Windows 8.1 这是我的设置代码: 亚马尔家园酒店 ip:“192.168.10.10” 内存: 2048 CPI: 1 提供者:virtualbox 授权:~/.ssh/id\u