gpt4 book ai didi

MySQL 创建 View ,该 View 是两个表的并集,其中一个表值带有前缀

转载 作者:行者123 更新时间:2023-11-29 08:39:27 24 4
gpt4 key购买 nike

我有从 MySQL 数据库获取权限的身份验证系统。

CREATE TEMPORARY TABLE db.temp (authority VARCHAR(100));
INSERT INTO db.temp (authority) SELECT blog.authors.id FROM db.authors;
UPDATE db.temp SET authority=CONCAT("AUTH_",authority);

SELECT authority FROM db.temp
UNION
SELECT authority FROM db.authorities_real

该脚本在从命令行执行时工作正常,但在 View 中不允许使用临时表。有什么办法可以在没有它们的情况下做我想做的事吗?

最佳答案

为什么不直接UNION使用authors表:

SELECT CONCAT('AUTH_',blog.authors.id)
FROM db.authors
UNION
SELECT authority
FROM db.authorities_real

您只需使用 UNION 中的 db.authors 表,而不是创建临时表。通过这种方式,您不必使用临时表。

UNION 将从查询中删除所有重复项。如果您不介意重复或不希望出现任何重复,那么我会使用 UNION ALL

关于MySQL 创建 View ,该 View 是两个表的并集,其中一个表值带有前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14260524/

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