2017-10-03 20 views
1

私はMsSQLデータベースからMySQLデータベースへの移行を実行しており、外部キーを失っています。Mssql外部キー

私はsys.foreign_keysを使用しようとしていますが、それらのテーブルのいくつかに外部キーがありますが、いずれのテーブルでも何も返しません。私のpythonスクリプトでどのように見えるのですか:

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 

SQLでそれらを検索する別の方法はありますか?

ありがとうございます!

編集:私は、あなたがテーブル名に渡している場合は、主キーやその他のインデックス

+0

'object_id = OBJECT_ID( '%s')'から 'Where parent_object_id = OBJECT_ID( '%s')' –

答えて

1

を見つけるためにsys.indexesを使用し、あなたはsys.foreign_keysテーブルの上にparent_object_idを参照する必要があります。

これを試してください。

msCursor = mssqldb.query("SELECT * FROM sys.foreign_keys fk WHERE 
    parent_object_id = OBJECT_ID('%s')" % tbl[0])