我刚刚完成了一个系统,并且在从本地主机转移到在线主机的过程中,我注意到所有索引,自动递增列,外键和主键,实际上每个关系都消失了。.db的用户拥有所有特权。
我认为从本地主机phpmyadmin导出时可能是一个错误,但是后来。在运行xampp的PC上创建了一个测试数据库,然后将同一个数据库(在在线phpmyadmin上行为不当)导入了该测试数据库。
Voila ..它在测试数据库中是正常的。.所有关系和索引都完好无损。.我真的很困惑,因为我真的需要这种关系才能正常工作。.我级联删除了FK,并且很多东西取决于关系 预先感谢
编辑:
请参阅部分sql文件中的一张表,我大约有40张表..
chat
的表结构CREATE TABLE IF NOT EXISTS `chat` (
id
int(11)非空,
user_id_one
int(11)NOT NULL,
user_id_two
int(11)NOT NULL,
date
varchar(25)非空
)ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT = 3;
--
-- Dumping data for table `chat`
--
INSERT INTO `chat` (`id`, `user_id_one`, `user_id_two`, `date`) VALUES
(2, 3, 2, '25-06-18 11:57:12');
chat
的索引 ALTER TABLE `chat`
ADD PRIMARY KEY (`id`), ADD KEY `user_id_one` (`user_id_one`), ADD KEY
`user_id_two` (`user_id_two`);
chat
的AUTO_INCREMENT ALTER TABLE `chat`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;
chat
的约束 ALTER TABLE `chat`
ADD CONSTRAINT `ch_uid` FOREIGN KEY (`user_id_one`) REFERENCES `account`
(`user_id`) ON DELETE NO ACTION ON UPDATE CASCADE,
ADD CONSTRAINT `ch_uid2` FOREIGN KEY (`user_id_two`) REFERENCES `account`
(`user_id`) ON DELETE NO ACTION ON UPDATE CASCADE;
答案 0 :(得分:1)
我知道了。
问题出在我的托管服务提供商身上。
他们生产的phpmyadmin不支持任何以前版本的mysql dump ..而且我在PC上使用的phpmyadmin版本与cpanel上的版本不同...
所以我必须下载最新版本的xampp,
导出我所有的数据库,
卸载以前的版本。.
安装最新版本,
再次创建我的数据库,
导入我的sql转储文件,
我所有的索引都完好无损..
然后再次导出数据库,
我将新的数据库导入到我的面板phpmyadmin和poof中。
似乎旧版本编译转储文件的方式与最新版本中的编译方式不同。 而且只有离线版本的phpmyadmin才能重新编译旧版本的phpmyadmin的转储文件
并不是真正的天才,但是它救了我,其他问题,博客和研究也没有其他解决方案。 我希望有一天能对某人有所帮助。