【发布时间】:2014-09-11 12:31:56
【问题描述】:
我正在尝试通过 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');
....
....
有什么魔法发生???
尝试两次后,我以同样的方式导入,它可以工作
谢谢大家.....
【问题讨论】:
-
显示你的 sql 脚本
-
我敢打赌,
db.t的CREATE TABLE行缺少IF NOT EXISTS子句。 -
导入可能使用类似这样的东西......使用 db_x 然后你的导入将转到另一个数据库
-
好吧发布真正的错误而不是
#1050 - Table '`db`.`t`' already exists,因为表名与错误不匹配。 -
在我的情况下,mysql进程对数据库文件的权限不足。
chmod -R 775已解决问题。
标签: mysql phpmyadmin