如何在MariaDB中选择所有外键

如何在MariaDB中选择所有外键,mariadb,Mariadb,我对MS Sql Server有以下查询: SELECT DISTINCT OnTable.name as OnTable, AgainstTable.name as AgainstTable FROM sysforeignkeys fk INNER JOIN sysobjects onTable ON fk.fkeyid = onTable.id INNER JOIN

我对MS Sql Server有以下查询:

SELECT  DISTINCT
              OnTable.name as OnTable, 
              AgainstTable.name as AgainstTable
    FROM sysforeignkeys fk
            INNER JOIN sysobjects onTable      ON fk.fkeyid = onTable.id
            INNER JOIN sysobjects againstTable ON fk.rkeyid = againstTable.id
现在我需要在MariaDB中创建一个等价的查询。基本上,我需要知道MariaDB中哪些表可以替换sysforeignkey和sysobjects?

这里:

select
    fk.constraint_name, 
    c.ordinal_position,
    c.table_schema,
    c.table_name,
    c.column_name,
    c.referenced_table_schema,
    c.referenced_table_name,
    c.referenced_column_name
  from information_schema.table_constraints fk
  join information_schema.key_column_usage c 
    on c.constraint_name = fk.constraint_name
  where fk.constraint_type = 'FOREIGN KEY';
嗯,您的查询显示的细节较少。这是等效的一个:

select distinct
    c.table_name,
    c.referenced_table_name
  from information_schema.table_constraints fk
  join information_schema.key_column_usage c 
    on c.constraint_name = fk.constraint_name
  where fk.constraint_type = 'FOREIGN KEY';

MariaDB的信息模式大致与sysobjects相关。但祝你好运。谢谢@RickJames,正如你提到的信息\u模式与sysobjects相关,我在文档中迷失了方向,找不到它,你在这里发布的链接帮了我很多,如果有新的MariaDB用户来到这里,这个链接有每一个信息\u模式表。@WesleySilva-是的,MariaDB页面很好。如果您在查找MariaDB页面时遇到困难,您可以在MySQL中查找-有时他们的页面更容易找到和/或更详细;通常他们有相同的信息。