問題:
MySQLのテーブルで制約の名前を見つけたいと考えています。
例:
テーブルstudent 。
解決策:
SELECT TABLE_NAME, CONSTRAINT_TYPE, CONSTRAINT_NAME FROM information_schema.table_constraints WHERE table_name='student';
結果は次のとおりです。
| TABLE_NAME | CONSTRAINT_TYPE | CONSTRAINT_NAME |
|---|---|---|
| 学生 | 主キー | プライマリ |
| 学生 | ユニーク | personal_number |
| 学生 | 外部キー | student_ibfk_1 |
| 学生 | チェック | student_chk_1 |
ディスカッション:
ビューtable_constraints information_schema スキーマ。このビューには多くの列が含まれていますが、最も重要なのはtable_nameです。 、constraint_type 、およびconstraint_name 。列table_nameは、制約が定義されているテーブルの名前と、列constraint_nameを示します。 制約の名前が含まれます。列constraint_type 制約のタイプを示します:PRIMARY KEY 主キータイプの場合、FOREIGN KEY 外部キータイプの場合、UNIQUE 一意の値については、CHECK 制約チェック用。この例では、PRIMARYという名前の制約を確認できます。 student テーブル。 constraint_type 列には、各制約のタイプに関する情報が表示されます。主キーの場合は、PRIMARY KEYです。 。