phpmyadmin 尝试导入sql文件时出现表已存在错误

5uzkadbs  于 2022-11-09  发布在  PHP
关注(0)|答案(3)|浏览(296)

我正在尝试通过phpMyAdmin上传一个备份SQL文件。
在phpMyAdmin中创建一个与我的导入文件同名的空数据库,然后使用从这个空数据库中选择的导入函数。
我收到以下错误消息。


# 1050 - Table '`db`.`t`' already exists

在导入文件中,每个CREATE TABLE语句都以IF NOT EXISTS为后缀,那么为什么会将此报告为错误呢?

--
-- Database: `mbfour`
--

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

--
-- Table structure for table `cars`
--

CREATE TABLE IF NOT EXISTS `cars` (
  `car_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  `type` varchar(200) NOT NULL,
  `status` varchar(20) NOT NULL,
  `capacity` varchar(5) NOT NULL,
  PRIMARY KEY (`car_id`),
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Dumping data for table `cars`
--

INSERT INTO `cars` (`car_id`, `type`, `status`, `capacity`) VALUES
(1, 'automatic', 'built', '4L'),
(2, 'automatic', 'in-production', '2L'),
(3, 'automatic', 'built', '2L'),
(4, 'automatic', 'in-production', '4L');
....
....

有没有奇迹发生???
尝试两次后,然后我像同样的方式导入,它的工作
谢谢大家.....

qij5mzcb

qij5mzcb1#

请在每个查询的顶部添加以下内容:

DROP TABLE IF EXISTS `cars`;
CREATE TABLE IF NOT EXISTS `cars`
ruyhziif

ruyhziif2#

您只需要在sql文件中注解创建数据库的查询
请在sql文件中添加注解或删除代码,然后尝试

/* CREATE TABLE IF NOT EXISTS `cars` (
  `car_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  `type` varchar(200) NOT NULL,
  `status` varchar(20) NOT NULL,
  `capacity` varchar(5) NOT NULL,
  PRIMARY KEY (`car_id`),
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;*/
kfgdxczn

kfgdxczn3#

当我试图将外键链接到连接表时,查询将失败,并显示同样的1050错误消息,而且它将只保留我创建的第一个关系。
我注意到phpmyadmin会自动给它保存的约束命名,我只是复制了这个名称(在“约束名称”下),用“2”替换“1”,然后再次运行查询,没有问题。两个关系都被保存了。
希望这对你有帮助。

相关问题