我正在努力实现一个函数,以防止删除数据库中的某些元素(通过前端),如果它们在其他表中有其他与之关联的项目。否则那些其他表正在寻找不存在的键。
如果你明白我的帽子是给你的。
我有许多表要查看,需要SQL查询或MySQL Workbench功能,可以告诉我,在输入主键(列名,而不是实际值)时,如果该密钥在其他地方用作外键。
否则,如果有人知道一个随便的解决方法,那也会很棒!
答案 0 :(得分:6)
SELECT
table_name, column_name
FROM
information_schema.key_column_usage
WHERE
referenced_table_name = '<table>'
and referenced_column_name = '<primary key column>'
答案 1 :(得分:0)
this post中描述了一种解决方案,用于从information_Schema表中检索此信息。
1)如果您想从代码中处理这些表,那么将它们作为容器获取,例如代码中的ArrayList并执行您的逻辑。
2)如果你想从你的存储过程中处理这些表,那么使用临时表来实现你在java代码中通过容器所做的相同的工作。