我正在运行从MsSQL数据库到MySQL数据库的迁移,并且正在丢失外键。
我试图使用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中搜索它们的方法吗?
谢谢!
编辑:我使用sys.indexes
来查找主键和其他索引
答案 0 :(得分:1)
如果要传入表名,则需要在sys.foreign_keys表中引用parent_object_id。
试试这个。
msCursor = mssqldb.query("SELECT * FROM sys.foreign_keys fk WHERE
parent_object_id = OBJECT_ID('%s')" % tbl[0])