Tabelle A einen Fremdschlüssel (Typ) Tabelle B (id) hat. Allerdings Typ ist nicht null und id ist nullable.Suche Fremdschlüsselbedingung Spalteninformationen zwischen Tabellen
Ich versuche eine Abfrage mit Hilfe von information_schema zu erstellen, die auf Fremdschlüsseleinschränkungen schaut und die Spaltentypen und Nullable-Spalten vergleicht, um zu sehen, ob sie synchronisieren, aber ich habe Probleme mit der Logik.
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';
Ich weiß, dass diese Syntax falsch ist - das ist alles, was ich bis jetzt zusammengestellt habe. Ich mag diese in der Lage haben sein für jede Tabelle in einer Datenbank ausgeführt werden und von table_name bestellt, dann column_name. Es kann Spalten ausschließen, wo column_type und IS_NULLABLE Felder identisch sind.
'refcol.column_type <> childcol.column_type' - ich glaube, das nicht möglich sein sollte. –
@ Paul Spiegel in Bezug auf Datentypen nicht übereinstimmen der Zustand angefordert wurde. –