9
表Aには、表B(ID)に対する外部キー制約(タイプ)があります。ただし、typeはnullではなく、idはnull可能です。表間の外部キー制約列情報の検索
私は外部キー制約を見て、それらが同期しているかどうかを確認するために列の型とnull可能な列を一致させる、information_schemaを使用してクエリを構築しようとしていますが、ロジックに問題があります。
select kcu.table_name, kcu.column_name, c.column_type, c.is_nullable,kcu.referenced_table_name, kcu.referenced_column_name,c.column_type, c.is_nullable
from key_column_usage kcu
inner join columns c on c.table_schema=kcu.table_schema and c.column_name=kcu.column_name and c.table_name=kcu.table_name
where kcu.referenced_table_name='Table_B' and kcu.table_name='Table_A';
私はこの構文が間違っていることを知っています - これは私がこれまでにまとめることができたすべてです。私はこれをデータベース内のすべてのテーブルに対して実行し、table_name、次にcolumn_name順に並べ替えることができるようにしたいと思います。 column_typeフィールドとis_nullableフィールドが同一である列は除外できます。
'refcol.column_type <> childcol.column_type' - 私はそれが可能であってはならないと思います。 –
@Paul Spiegelは、条件が要求された不一致データ型に関するものです。 –