Laravel 5.4 迁移错误 [42501]
Posted
技术标签:
【中文标题】Laravel 5.4 迁移错误 [42501]【英文标题】:Laravel 5.4 migration error [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,password
varchar(255) not null,remember_token
varchar(100) null,created_at
timestamp null,updated_at
timestamp null) 默认字符集 utf8 collate utf8_unicode_ci)[PDO异常]
SQLSTATE[42S01]:基表或视图已存在:1050 表“用户”已存在
我检查了我的database.php
文件,它工作正常,并且已经将默认用户表也迁移到了我的 php my admin mysql。
【问题讨论】:
如果您已经迁移了 users 表,请进入 users 迁移文件并注释up
函数中的所有内容。请务必在迁移后取消注释所有内容。
但这次我没有迁移用户表我正在迁移不起作用的 POST 表,我可以创建更多不同名称的迁移,但是当我尝试迁移时它给了我这个错误,我不知道为什么
由于某种原因,它没有看到您已经迁移了该文件。也许它没有在迁移中列出,或者你做了一个部分失败的migrate:rollback
,但仍然从迁移表中删除了行。暂时评论它有助于迁移表保持最新。
我之前看到过这个问题,你可以查看这个链接***.com/questions/48270874/…
【参考方案1】:
从软件(phpmyadmin)中删除所有表,然后再次迁移,这将迁移新创建的表,这不是一个正确的解决方案,但这在学习级别上有效,问候
【讨论】:
【参考方案2】:最简单的修复方法是:php artisan migrate:refresh
⚠️ 您将丢失表格中的所有数据! ⚠️
More info in the docs.
【讨论】:
【参考方案3】:您可以在UsersTableSeeder中使用这句话来重新生成表格:
DB::table('users')->truncate();
【讨论】:
以上是关于Laravel 5.4 迁移错误 [42501]的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.4 迁移 ENUM 在 MySQL 中失败