1、从phpmyadmin导出数据库a的所有表和数据;
2、再使用phpmyadmin或mysql的source 导入数据;
出错了,错误就不贴出来了。我再去看它的sql,发现是primary key的问题:
CREATE TABLE IF NOT EXISTS `api_log` (
`id` int(11) NOT NULL auto_increment,
`api` varchar(255) NOT NULL,
`create_time` timestamp NOT NULL default CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=22607 ;
以上是sql,仔细一看,发现是少了 primary key,我以为它表中本身就缺失主键,但事实并非如此。
我再往下看时,发现primary key居然跑最下面了:
--
-- Indexes for table `api_log`
--
ALTER TABLE `api_log`
ADD PRIMARY KEY (`id`);
这下麻烦了。按平时我导出的mysql,一般情况下,主键是直接在create table *** 里面的啊。
现在问题来了,如何解决这个问题呢?
场景:
1、是虚拟主机,没有操作命令行的权限;
2、有主机上有phpmyadmin;
不知道是导出的那一步还是导入的这一步要改?
求指点。。。谢谢。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
自己加primary key吧
create table xx 的时候只是把数据导过去了,这些限制,如primary key之类的,不会加入新的数据表的。