首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL phpMyAdmin从外键生成联接

问MySQL phpMyAdmin从外键生成联接
EN

Stack Overflow用户
提问于 2017-01-27 22:29:35
回答 1查看 34关注 0票数 1

我正在使用LAMP,并通过phpMyAdmin维护MySQl。我厌倦了每次要在InnoDB表上构建多表查询时都要键入JOIN。

有没有人知道一些功能,插件,方法或资源来从外键生成连接语句?

EN

回答 1

Stack Overflow用户

发布于 2017-01-27 22:39:58

我最终编写了一个从所有外键构建JOIN语句的查询:

代码语言:javascript
复制
CREATE VIEW Joins_All AS 
SELECT 
    concat(" JOIN ",TABLE_NAME," ON ",
    TABLE_NAME,".",COLUMN_NAME," = ",
    REFERENCED_TABLE_NAME,".", REFERENCED_COLUMN_NAME) 
    AS myJoin 
  FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
  WHERE REFERENCED_TABLE_NAME IS NOT NULL 

UNION

SELECT  
    concat(" JOIN ",REFERENCED_TABLE_NAME," ON ",
    TABLE_NAME,".",COLUMN_NAME," = ",
    REFERENCED_TABLE_NAME,".", REFERENCED_COLUMN_NAME) 
    AS myJoin 
  FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
  WHERE REFERENCED_TABLE_NAME IS NOT NULL 

ORDER BY myJoin  ASC

它会生成类似这样的东西:

Area_Tare.Id_Area = Area.Id_Area上的

连接区域

在Area_Tare.Id_Area = Area.Id_Area上加入Area_Tare

在Insect.Id_Insect_Class = Insect_Class.Id_Insect_Class上加入昆虫

在Insect_Insumo_Formula_Ingredient.Id_Insect = Insect.Id_Insect上加入昆虫

我保存了这个文件,并在需要时复制/粘贴适当的行,或者使用所需表的名称过滤视图

这可以很容易地在php中修改(我现在不会这样做)来创建一个基于外键的GUI查询构建器。任何决定这样做的人,请随时使用/改编此代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41896293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档