9
表A对表B(id)具有外键约束(类型)。但是,类型不为null,id可以为空。查找表之间的外键约束列信息
我想使用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关于请求条件不匹配的数据类型。 –