gpt4 book ai didi

mysql - MariaDB 10.0 在转储插入时重命名外键

转载 作者:行者123 更新时间:2023-11-29 00:04:41 24 4
gpt4 key购买 nike

状态: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

我没有在文档中找到任何关于这种可能性的信息,所以我在这里问这个问题。这是一个可配置的功能吗,因为如果它是自动完成的,我会认为它可能非常关键?

有什么想法吗?

编辑:请查看答案。

最佳答案

好吧,似乎我在用 NAVICAT MySql 工具创建的另一个插入之前覆盖了转储。

但是这个理论上应该是一样的,却没有创建SHOW CREATE TABLE所示的语句。 (感谢@Michael Berkowski 的提示!)

我发现高级下有一个选项可以使用 SHOW CREATE TABLE 中的语句,它会导出 FK 约束及其名称。

所以第一个转储没有设置 FK 名称,因此 mariadb 为它们创建了自己的键名,这在技术上是正确的。

所以这是一个简单的自制问题,有一点技术含量。

关于mysql - MariaDB 10.0 在转储插入时重命名外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28089629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com