我刚刚完成了一个系统,在从localhost移到online host的过程中,我注意到所有索引、自动递增列、外键和主键,实际上每个关系都消失了。。数据库的用户拥有所有特权。
我以为从localhost phpmyadmin导出时可能是个错误,但后来,我发现。在运行xampp的pc上创建了一个测试数据库,我将同一个数据库(在联机phpmyadmin上行为不正常的数据库)导入到测试数据库中。。
瞧。。在测试中是正常的。。所有关系和索引都完好无损。。所以我真的很困惑,因为我真的需要这种关系来工作。。我级联删除fk和很多东西取决于关系提前感谢
**编辑:**请参阅sql文件的一部分中的一个表,我有大约40个表。。
--表聊天的表结构
CREATE TABLE IF NOT EXISTS `chat` (
``` `id` int(11)不为空, `user_id_one` int(11)不为空, `user_id_two` int(11)不为空, `date` varchar(25)not null)engine=innodb default charset=latin1 auto\u 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');
### --表聊天的索引
ALTER TABLE chat
ADD PRIMARY KEY (id
), ADD KEY user_id_one
(user_id_one
), ADD KEYuser_id_two
(user_id_two
);
### --表聊天的自动增量
ALTER TABLE chat
MODIFY id
int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;
### --桌上聊天的限制条件
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;
1条答案
按热度按时间watbbzwu1#
我想出来了。。问题是我的主机提供商。他们的产品phpmyadmin不支持任何以前版本的mysql dump..并且我的pc上使用的phpmyadmin版本与cpanel上的不同。。。所以我不得不下载最新版本的xampp,导出我所有的数据库,卸载以前的版本。。
安装最新版本,
再次创建我的数据库,,
导入我的sql转储文件,
我所有的索引都完好无损。。然后再次导出数据库,,
我把新的数据库导入到我的cpanel phpmyadmin中,然后。。。没关系。
似乎旧版本编译转储文件的方式与最新版本的编译方式不同。。只有离线版本的phpmyadmin才能重新编译旧版本phpmyadmin的转储文件
不是真正的天才,但它救了我,,而且其他问题、博客和研究的解决方案都不管用。。我希望有一天这能帮助别人。