【问题标题】:Laravel 5.4 migration error [42501]Laravel 5.4 迁移错误 [42501]
【发布时间】:2017-07-26 19:50:14
【问题描述】:

我可以创建迁移。它工作正常,但是当我执行 php artisan migrate 时,它​​说

[照亮\数据库\查询异常]

SQLSTATE[42S01]:基表或视图已存在:1050 表“用户”已存在(SQL:创建表 users (id int unsigned not null auto_increment 主键,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) 默认字符集 utf8 collat​​e utf8_unicode_ci)

[PDO异常]

SQLSTATE[42S01]:基表或视图已存在:1050 表“用户”已存在

我检查了我的database.php 文件,它工作正常,并且已经将默认用户表也迁移到了我的 php my admin mysql。

【问题讨论】:

  • 如果您已经迁移了 users 表,请进入 users 迁移文件并注释 up 函数中的所有内容。请务必在迁移后取消注释所有内容。
  • 但这次我没有迁移用户表我正在迁移不起作用的 POST 表,我可以创建更多不同名称的迁移,但是当我尝试迁移时它给了我这个错误,我不知道为什么
  • 由于某种原因,它没有看到您已经迁移了该文件。也许它没有在迁移中列出,或者你做了一个部分失败的migrate:rollback,但仍然从迁移表中删除了行。暂时评论它有助于迁移表保持最新。
  • 我之前看到过这个问题,你可以查看这个链接stackoverflow.com/questions/48270874/…

标签: php mysql laravel


【解决方案1】:

从软件(phpmyadmin)中删除所有表,然后再次迁移,这将迁移新创建的表,这不是一个正确的解决方案,但这在学习级别上有效,问候

【讨论】:

    【解决方案2】:

    最简单的修复方法是:php artisan migrate:refresh

    ⚠️ 您将丢失表格中的所有数据! ⚠️

    More info in the docs.

    【讨论】:

      【解决方案3】:

      您可以在UsersTableSeeder中使用这句话来重新生成表格:

      DB::table('users')->truncate();
      

      【讨论】:

        猜你喜欢
        • 2018-12-06
        • 1970-01-01
        • 2017-07-14
        • 2018-06-05
        • 2017-11-12
        • 2014-06-10
        • 2015-12-19
        • 2017-06-18
        相关资源
        最近更新 更多