州: 使用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
我在文档中没有找到关于这种可能性的任何内容,所以我在这里问这个问题。这是一个可配置的功能,因为如果它自动完成我会认为它可能非常关键吗?
有什么想法吗?
编辑:请参阅答案。答案 0 :(得分:1)
但是这个理论上应该是相同的,并没有创建SHOW CREATE TABLE所示的语句。 (感谢@Michael Berkowski提示!)
我发现有一个高级选项可以使用SHOW CREATE TABLE中的语句,它会使用它们的名称导出FK约束。
因此第一个转储没有设置FK名称,因此mariadb为它们创建了自己的密钥名称,这在技术上是正确的。
所以这是一个简单的自制问题,只需要少许技术盐。