状态: MariaDb 10.0的两个精确的数据库设置
一个是满的,另一个是空的,等待转储插入。
表上存在外键约束:
ALTER TABLE `rel_account_account` ADD CONSTRAINT `FK_Account` FOREIGN KEY (`InAccountID`) REFERENCES `t_account` (`ID`) ON DELETE RESTRICT ON UPDATE CASCADE;如果我通过以下方式转储数据库
mysqldump -uroot -p --default-character-set=utf8 livedb -r live.sql并通过以下方式将其恢复到另一个系统上
mysql -uroot -p --default-character-set=utf8 livedb
mysql> SOURCE live.sql然后,将外键重命名为特定的模式:
<tablename>_ifbk<index>这意味着FK:
FK_Account已自动重命名为:
rel_account_account_ifbk_1我在文档中没有找到任何关于这种可能性的东西,所以我在这里提出这个问题。这是一个可配置的功能吗?因为如果它是自动完成的,我会认为它可能是非常关键的?
有什么想法吗?
编辑:请参阅答案。
发布于 2015-01-22 22:48:05
好的,似乎我在用NAVICAT MySql工具创建的另一个转储文件插入之前覆盖了转储文件。
但是这条语句(理论上应该是相同的)并没有像SHOW create TABLE所示那样创建语句。(感谢@Michael Berkowski的提示!)
我发现在advanced下面有一个选项,可以使用SHOW CREATE TABLE中的语句,它确实会将FK约束及其名称一起导出。
因此,第一个转储没有设置FK名称,因此mariadb为它们创建了自己的键名,这在技术上是正确的。
所以这是一个简单的自制问题,带有一点技术上的盐。
https://stackoverflow.com/questions/28089629
复制相似问题