gpt4 book ai didi

mysql - 为 View 创建外键

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

问题:我正在尝试在列上创建一个 View 的外键。该 View 是作为来自另一个模式的 SELECT * 生成的,在我正在使用的列上具有主键约束。

这可能吗?如果是这样,这是否被认为是不好的做法?如果不是,是否有替代方案?这似乎无法通过 phpmyadmin 实现,而且我无法在 View 上创建主键。

原因:我为两个不同的应用程序使用了两个模式,但在一个模式中有一个我想重用的“用户”表(不一定是 mysql.user 表中的用户)在架构中而不授予其他架构的权限。这就是我使用 View 的原因。

最佳答案

没有。这是不可能的。

请参阅MySQL Forums post .

in the referenced table, there must be an index where the referenced columns are listed as the first columns ...

View 被具体化。它们本身不是具有最左侧索引的表。 View 也是时间快照(创建时间)。它们可能会失去当前模式的支持,直到下次使用时才为人所知。因此,出于多种原因,他们不会成为 FK 用作目标引用 的候选对象,正如他们所说的那样。

来自手册页 FAQ: Views

After a view has been created, it is possible to drop or alter a table or view to which the definition refers. To check a view definition for problems of this kind, use the CHECK TABLE statement.

View 是我所说的快照的进一步原因。它的有效性在任何时间点都可能受到严重损害。不是 FK referenced 候选人。

关于mysql - 为 View 创建外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38112999/

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