我正在使用asp.net开发一个Web应用程序。我正在使该应用程序兼容SQL和MYSQL DB。
因此,我担心的是,我在表中有一组记录。该表的记录被其他表引用。因此,如果用户尝试从该表中删除记录,则必须检查该记录是否被其他表引用。如果没有,则用户可以删除记录。我在许多表上使用外键,但其他表则没有。
因此,我希望每个表都有这种情况。因此,我想到的方法是在删除记录之前,我必须对那些表运行一些选择查询,以检查记录是否可用。那么这是唯一的方法吗?似乎很头痛。您知道表是否被很多表引用。我可以使用旗帜或其他东西吗?
有什么更好的方法吗?
最佳答案
我认为这可能对您有帮助:
SELECT
table_name, column_name
FROM
information_schema.key_column_usage
WHERE
referenced_table_name = '<table>'
and referenced_column_name = '<primary key column>'
请也检查此链接:
MySQL: How to I find all tables that have foreign keys that reference particular table.column AND have values for those foreign keys?
关于c# - 实现有效的机制,以在删除之前检查记录是否在其他表中被引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30522219/