gpt4 book ai didi

mysql - MySQL 对两个表的外键要求复杂

转载 作者:行者123 更新时间:2023-11-29 11:43:12 25 4
gpt4 key购买 nike

我在各种 DBMS 平台方面拥有超过 25 年的经验,主要是 Oracle、SqlServer 和 Sybase,但也有一些使用 MySQL(以及其他平台)的经验。我现在尝试用 MySQL 做一些我以前从未需要做的事情,我怀疑这是不可能的(在任何 DBMS 中),但也许有人有一个想法。

我正在根据 CLDR 全局化/本地化数据构建一个数据库,并且有两个表定义我的应用程序将支持的所有区域设置。

TABLE supported_language:
COLUMN language_code VARCHAR(4) (PK)

TABLE supported_territory:
COLUMN language_code VARCHAR(4) (PK, FK to supported_language.language_code)
COLUMN territory VARCHAR(10) (PK)

CLDR 语言环境可能只是一种语言或语言-区域组合,因此要获取所有支持的语言环境的完整列表,我必须外部连接两个表或进行联合。现在我需要做的是约束各种其他表,以便它们仅引用有效的受支持的区域设置,即语言和地区或只是一种语言,如 supported_languagesupported_territory 所定义。通常我会使用一个简单的外键来执行此操作,但由于没有一个表列出所有语言/区域而仅列出语言区域设置,我不知道如何执行此操作。

如何确保这些其他表仅引用有效的受支持语言/地区组合?

最佳答案

简单地创建仅包含有效支持的语言环境的另一个表并对其使用约束怎么样?有时,在 DBMS 中添加冗余(即计算的)数据并不是一个坏主意。

很抱歉,如果这个答案看起来太简单,但有时复杂的问题有一个简单的解决方法。

关于mysql - MySQL 对两个表的外键要求复杂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35415511/

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