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

PHP artisan migrate命令出现错误?

井高峯
2023-03-14

当我运行命令php artisan migrate时,它会导致以下错误

[照明\数据库\查询异常]SQLSTATE[42S01]:基表或视图已经存在:1050表'用户'已经存在(SQL:创建表<代码>用户 (<代码>idint unsignnot nullauto_increment主键,<代码>namevarchar(255)not null,<代码>emailvarchar(255)not null,<代码>密码varchar(255)not null,<代码>remember_tokenvarchar(100)null,<代码>created_at时间戳null,<代码>updated_at时间戳null)默认字符集utf8mb4整理utf8mb4_unicode_ci)

[PDOException] SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists

我正在Windows上使用Laravel 5.4。

共有3个答案

郝哲茂
2023-03-14

检查数据库中是否有“用户”表退出,然后DROPuserstable

现在

步骤1.要创建迁移,请使用make:迁移命令:-php artisan make:迁移create_yourtablename_table

第二步。键入以下命令:php artisan migrate

澹台硕
2023-03-14

如果你在问题中粘贴了正确的代码,那么我可以看到一个简单的拼写错误

email varchar(255) not n ull,

我知道我给出的愚蠢答案。但你可以使用:

php artisan migrate --force
php artisan migrate:refresh
php artisan migrate:reset

最好用这个。也许它会奏效:

php artisan migrate:rollback
孟成化
2023-03-14

它让您知道“用户”表已经存在——当您运行迁移时——它正在尝试创建它(但它已经存在)

这通常是因为您以前尝试过运行命令“php artisan migrate”。必须回滚以“撤消”这些更改,或者清除数据库表。

你可以跑:

php artisan migrate:rollback 

这样就可以去掉所有的桌子,然后你就可以跑步了

php artisan migrate

它应该适当地加载所有内容。

替代方法?登录数据库并从数据库中物理删除这些表。然后,您可以再次运行迁移,它将工作。

一个小问题:首先检查你的迁移:它应该有这个功能:

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::drop('users');
}

如果没有,回滚将不会删除users表,并且您仍然会遇到这个问题(这意味着您必须登录到DB并手动删除表)。

如果使用此命令创建迁移,将自动包括回滚功能:

php artisan make:migration create_yourtablename_table
 类似资料:
  • 我的命令提示符出错了。我从Jupyter尝试了,但出现了一些错误。我感谢任何查看或回答的人,感谢您的时间!

  • 我在以下位置安装了Kafka 可以看出,目录名不包括版本(谷歌搜索告诉删除目录名中的版本)。 我仍然面对这个问题。

  • [ ] 通过在localhost:3000上运行代码,我在bowser上得到了这个结果 类型错误:res.send文件不是一个函数在app.get(C:\用户\DeLL pc\文档\节点\app.js:18: 9)在回调(C:\用户\DeLL pc\文档\节点\node_modules\快递\lib\路由器\index.js:164: 37)在参数(C:\用户\DeLL pc\Documents\

  • 我有这个代码的麻烦(抱歉,它的巨大): 不要说令牌不在那里,我知道它不在那里。 但是我得到了这个错误信息: 回溯(最后一次调用):文件“main.py”,第137行,异步定义on_消息(消息,成员:discord.member,*,角色:discord.role):文件“/opt/virtualenvs/python3/lib/python3.8/site packages/discord/ext

  • 问题内容: 我正在尝试以交互方式运行。 我要使用它,我遵循了他们的指示: 我成功跑了 我跑了导致 一些更多的信息: 返回: 返回: 运行不返回任何输出 运行收益: 问题答案: 您需要将GOPATH / bin添加到PATH。 更新 :从Go1.8开始,如果未设置GOPATH,则默认为。如果未明确设置GOPATH,则以上操作 将无效 。 要同时设置两者,请将其添加到您的.profile中:

  • 我花了一些时间试图找出什么是错误的,但由于我无法找到,我决定在这里问。 我正在运行MongoDB(Windows 64位2008 R2)3.2版。3在Windows 8上,路径为: C:\MongoDB\bin用于安装 数据文件夹的C:\data\db 我已经从官方文档中安装了以下视频和教程。 第一个问题可能是客户端(mongo.exe)和服务器(mongod.exe)之间的连接,因为我不知道这是