首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取外表assoc PDO SQL

获取外表assoc PDO SQL
EN

Stack Overflow用户
提问于 2012-08-22 06:11:24
回答 2查看 719关注 0票数 0

我正在使用PDO在mysql中尝试获取外部assoc的表名。例如,我有:

用户表

代码语言:javascript
复制
+------------+----------+------+-----+-----+----------------+
| Field      | Type     | Null | Key |  AI | Foreign Keys   |
+------------+----------+------+-----+-----+----------------+
| id         | int(255) | NO   | PRI | yes |                |
| username   | char(16) | NO   |     |     |                |
| password   | char(32) | NO   | UNI |     |                |
| group      | int(255) | NO   | MUL |     | mytable.group  |
| created    | datetime | NO   |     |     |                |
+------------+----------+------+-----+-----+----------------+

组表

代码语言:javascript
复制
+------------+----------+------+-----+-----+----------------+
| Field      | Type     | Null | Key |  AI | Foreign Keys   |
+------------+----------+------+-----+-----+----------------+
| id         | int(255) | NO   | PRI | YES |                |
| name       | char(16) | NO   | UNI |     |                |
| description| TEXT     | YES  |     |     |                |
+------------+----------+------+-----+-----+----------------+

我想以动态方式获取外表assoc(users.group => group )的名称。显示列和描述命令不显示关联。

如果有人知道怎么做,我将不胜感激。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-22 06:58:31

SHOW CREATE table users,显示表的所有信息,但不是在一个有组织的数组中。我找到了一种使用SQL动态获取所有assoc数据的方法:

代码语言:javascript
复制
SELECT 
      ke.column_name col, 
      ke.referenced_table_schema assoc_db,
      ke.referenced_table_name assoc_table,
      ke.referenced_column_name assoc_col
FROM
      information_schema.KEY_COLUMN_USAGE ke
WHERE
      ke.referenced_table_name IS NOT NULL              
AND   ke.table_schema='YOUR_DATABASE_NAME'
AND   ke.table_name='YOUR_TABLE_NAME'

我的示例将返回:

代码语言:javascript
复制
array(
      public 'col' => string 'group' (length=5) //field with foreign data
      public 'assoc_db' => string 'mytable' (length=6)  //foreign db 
      public 'assoc_table' => string 'group' (length=5) //foreign table
      public 'assoc_col' => string 'id' (length=2) //foreign field
);
票数 4
EN

Stack Overflow用户

发布于 2012-08-22 06:15:18

试试这个:

代码语言:javascript
复制
SHOW CREATE TABLE users
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12063809

复制
相关文章

相似问题

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