【问题标题】:Entity Framework MySql.Data.MySqlClient.MySqlException (0x80004005): Table already exists实体框架 MySql.Data.MySqlClient.MySqlException (0x80004005): 表已经存在
【发布时间】:2020-12-18 12:17:11
【问题描述】:

我在包管理器控制台中运行 EF 命令更新数据库时遇到了问题。 以下是我收到的错误,请帮助我解决它。

MySql.Data.MySqlClient.MySqlException (0x80004005): 表 'tablename' 已经存在

【问题讨论】:

    标签: asp.net-core entity-framework-core ef-code-first


    【解决方案1】:

    通过删除您之前创建表“学生”的迁移,EntityFramework 现在正在使用创建表脚本生成迁移,如果您想删除迁移,您还必须从数据库中恢复它。现在您可以重新创建数据库或还原/删除数据库中的“学生”表。

    尝试运行

    Add-Migration InitialCreate –IgnoreChanges 
    

    包管理器控制台中的命令。这会创建一个以当前模型作为快照的空迁移。然后运行

    Update-Database
    

    【讨论】:

    • 感谢您的回复。不存在数据库。实际上,我在运行迁移文件后尝试使用相应的表和数据创建数据库。但是在运行更新数据库时,我遇到了“表已存在”的问题。我还删除了所有现有的迁移文件,并通过运行 Add-Migration fileName 重新创建了新的迁移文件,运行了 update-Database 但仍然出现同样的问题。我也按照您的建议进行了尝试,但 -IgnoreChanges 出现错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 2011-04-04
    • 2019-09-16
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    • 1970-01-01
    相关资源
    最近更新 更多