【问题标题】:Error #1050 Table 'name' already exists while I have an empty database错误 #1050 表“名称”已经存在,而我有一个空数据库
【发布时间】:2019-11-18 04:32:28
【问题描述】:

我的本​​地主机上有一个全新的 mysql 数据库,并且我有一个基于 codeigniter PHP 框架的项目,并拥有该项目数据库的副本。

但是,当我将数据库导入我已经创建的干净的新数据库时,我收到以下错误消息:

SQL query:


-- --------------------------------------------------------

--
-- Table structure for table `cr_addons`
--

CREATE TABLE `cr_addons` (
  `addon_id` int(11) NOT NULL,
  `addon_name` varchar(50) DEFAULT NULL,
  `price` decimal(10,2) DEFAULT NULL,
  `description` varchar(100) DEFAULT NULL,
  `addon_image` varchar(50) DEFAULT NULL,
  `status` enum('Active','Inactive') DEFAULT 'Active'
) ENGINE=InnoDB DEFAULT CHARSET=utf8
MySQL said: Documentation

#1050 - Table 'cr_addons' already exists

我怎么可能不得不删除一个我已经有一个空数据库的表! 使用 apache 和 mysql (XAMPP Stack) 在我的本地机器上工作

【问题讨论】:

  • 大概表确实确实存在,你试过刷新你的表列表还是从mysql服务器断开再重新连接?
  • 查询运行环境中的默认数据库是什么?尝试将 db 前缀添加到 create table 语句:CREATE TABLE prefix.cr_addons...
  • @GuyLouzon 这些是我的数据库服务器信息:服务器:通过 UNIX 套接字的 Localhost 服务器类型:MariaDB 服务器连接:未使用 SSL 文档服务器版本:10.1.38-MariaDB - 源分发协议版本: 10 用户:root@localhost 服务器字符集:UTF-8 Unicode (utf8)
  • 确保创建表行没有在文件中的某处重复。
  • @aynber 不,不是。但我只是注意到源数据库服务器的 MariaDB 版本比我的要新。它是 10.3.12 版本,而我的是 10.1.38。这个版本冲突可能会导致这些问题?

标签: php mysql database codeigniter phpmyadmin


【解决方案1】:

执行

CREATE DATABASE IF NOT EXISTS `database_name`;
USE `database_name`;
DROP TABLE IF EXISTS `cr_addons`;
CREATE TABLE `cr_addons` (
  `addon_id` int(11) NOT NULL,
  `addon_name` varchar(50) DEFAULT NULL,
  `price` decimal(10,2) DEFAULT NULL,
  `description` varchar(100) DEFAULT NULL,
  `addon_image` varchar(50) DEFAULT NULL,
  `status` enum('Active','Inactive') DEFAULT 'Active'
) ENGINE=InnoDB DEFAULT CHARSET=utf8

【讨论】:

  • 我的数据库中根本没有表。
【解决方案2】:

你的新数据库现在可能是默认使用我的客户端

尝试通过以下方式设置默认数据库架构:

USE new_db;

或者明确定义在哪个模式中创建表:

CREATE TABLE new_db.`cr_addons` (
  `addon_id` int(11) NOT NULL,
  `addon_name` varchar(50) DEFAULT NULL,
  `price` decimal(10,2) DEFAULT NULL,
  `description` varchar(100) DEFAULT NULL,
  `addon_image` varchar(50) DEFAULT NULL,
  `status` enum('Active','Inactive') DEFAULT 'Active'
) ENGINE=InnoDB DEFAULT CHARSET=utf8

【讨论】:

    【解决方案3】:

    我使用的一个简单解决方案是从生产服务器重新导出数据库。初始导出可能已损坏。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-26
      • 2020-05-16
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      • 2021-04-08
      • 2019-09-10
      • 2021-02-16
      相关资源
      最近更新 更多