MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLの外部キー制約のリストを取得する


多数のテーブルを持つデータベース「ビジネス」があるとしましょう。外部キー制約のみを表示する場合は、次のクエリを使用します-

mysql> select *
   −> from information_schema.referential_constraints
   −> where constraint_schema = 'business';

以下は、外部キー制約のみを表示する出力です-

+--------------------+-------------------+--------------------------+---------------------------+--------------------------+------------------------+--------------+-------------+-------------+-------------------+-----------------------+
| CONSTRAINT_CATALOG | CONSTRAINT_SCHEMA | CONSTRAINT_NAME          | UNIQUE_CONSTRAINT_CATALOG | UNIQUE_CONSTRAINT_SCHEMA | UNIQUE_CONSTRAINT_NAME | MATCH_OPTION | UPDATE_RULE | DELETE_RULE | TABLE_NAME       | REFERENCED_TABLE_NAME |
+--------------------+-------------------+--------------------------+---------------------------+--------------------------+------------------------+--------------+-------------+-------------+-------------------+-----------------------+
| def                | business          | ConstChild               | def                       | business                 | PRIMARY                | NONE         | NO ACTION   | NO ACTION | childdemo         | parentdemo |
| def                | business          | ConstFK                  | def                       | business                 | PRIMARY                | NONE         | NO ACTION   | NO ACTION | tblf | tblp |
| def                | business          | constFKPK                | def                       | business                 | PRIMARY                | NONE         | NO ACTION   | NO ACTION | foreigntable      | primarytable1 |
| def                | business          | FKConst                  | def                       | business                 | PRIMARY                | NONE         | NO ACTION   | NO ACTION | foreigntabledemo | primarytabledemo |
| def                | business          | primarytable1demo_ibfk_1 | def                       | business                 | PRIMARY                | NONE         | NO ACTION   | NO ACTION | primarytable1demo| foreigntable1 |
| def                | business          | StudCollegeConst         | def                       | business                 | PRIMARY                | NONE         | NO ACTION   | NO ACTION   | studentenrollment| college |
+--------------------+-------------------+--------------------------+---------------------------+--------------------------+------------------------+--------------+-------------+-------------+-------------------+-----------------------+
6 rows in set (0.07 sec)

  1. MySQLのさまざまなテーブルに対して主キーを外部として参照するにはどうすればよいですか?

    以下は構文です- alter table yourSecondTableName add constraint `yourConstraintName` foreign key(`yourSecondTableNamePrimaryKey`) references yourFirstTableName(yourFirstTablePrimaryKeyColumnName); 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table demo65 −> ( −> id int not null primary

  2. MySQLでの外部キーの使用

    MySQLで外部キーを使用する方法を理解しましょう- InnoDBテーブルは、外部キー制約のチェックをサポートしています。 2つのテーブルを結合するためだけに、外部キー制約は必要ありません。 InnoDB以外のストレージエンジンで使用する必要のある列を定義するときに使用できます。 REFERENCES tableName(colName)は実際の効果はなく、現在定義されている列が別のテーブルの列を参照することを意図しているというユーザーへのコメントとして機能します。 MySQLは、「colName」が実際に「tableName」に存在すること、または「tableName」自体が実際に存在す