2017-10-03 1 views
1

Ich führe eine Migration von einer MsSQL-Datenbank zu einer MySQL-Datenbank und verliere die Fremdschlüssel.Mssql Fremdschlüssel

Ich versuche, sys.foreign_keys zu verwenden, aber es gibt nichts für irgendwelche der Tabellen zurück, obwohl einige von ihnen definitiv fremde Schlüssel haben. So sieht es in meinem Python-Skript aus:

msCursor = mssqldb.query("SELECT * FROM sys.foreign_keys fk WHERE object_id = OBJECT_ID('%s')" % tbl[0]) 
fk = msCursor.fetchall() 
print 'fks are %s' % fk 

Gibt es eine andere Möglichkeit, nach ihnen in SQL zu suchen?

Danke!

EDIT: Ich habe sys.indexes die Primärschlüssel und andere Indizes

+0

Ändern 'Where object_id = OBJECT_ID ('% s')' in 'Wo parent_object_id = OBJECT_ID ('% s')' –

Antwort

1

Wenn Sie vorbei in den Tabellennamen zu finden, dann müssen Sie die parent_object_id auf der sys.foreign_keys Tabelle verweisen.

Versuchen Sie es.