如何解决从具有主键/唯一键和外键属性的数据库中选择所有表和列
使用MySQL 8
我需要在LucidChart中导入从数据库中提取的ER。
以下是他们要求执行的查询,以获取包含导入所需的所有信息的行。不幸的是,这不起作用,因为我只能看到主键。我试图了解问题出在哪里,为什么又弄乱了其他键,但我无法弄清楚。
SELECT 'mysql' dbms,t.TABLE_SCHEMA,t.TABLE_NAME,c.COLUMN_NAME,c.ORDINAL_POSITION,c.DATA_TYPE,c.CHARACTER_MAXIMUM_LENGTH,n.CONSTRAINT_TYPE,k.REFERENCED_TABLE_SCHEMA,k.REFERENCED_TABLE_NAME,k.REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.TABLES t
LEFT
JOIN INFORMATION_SCHEMA.COLUMNS c
ON t.TABLE_SCHEMA = c.TABLE_SCHEMA
AND t.TABLE_NAME = c.TABLE_NAME
LEFT
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE k
ON c.TABLE_SCHEMA = k.TABLE_SCHEMA
AND c.TABLE_NAME = k.TABLE_NAME
AND c.COLUMN_NAME = k.COLUMN_NAME
LEFT
JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS n
ON k.CONSTRAINT_SCHEMA = n.CONSTRAINT_SCHEMA
AND k.CONSTRAINT_NAME = n.CONSTRAINT_NAME
AND k.TABLE_SCHEMA = n.TABLE_SCHEMA
AND k.TABLE_NAME = n.TABLE_NAME
WHERE t.TABLE_TYPE = 'BASE TABLE'
AND t.TABLE_SCHEMA NOT IN('INFORMATION_SCHEMA','mysql','performance_schema');
键信息是我正在使用Laravel迁移。我想我已经找到了答案,但是我将其保持打开状态。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。