Mssql外键

时间:2017-10-03 14:31:01

标签: python sql-server database

我正在运行从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来查找主键和其他索引

1 个答案:

答案 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])