我需要在onDelete
数据库上找到并修复外键的所有MySQL
子句,因为所有这些子句现在都是默认RESTRICT
。
这可以通过MySQL查询完成吗?
至少找到所有外键
@peterm回答后更新:
SELECT * FROM information_schema.`REFERENTIAL_CONSTRAINTS`
WHERE CONSTRAINT_SCHEMA = '%database_name%' AND delete_rule = 'RESTRICT';
答案 0 :(得分:1)
您可以使用INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
REFERENTIAL_CONSTRAINTS表提供有关外键的信息。
DELETE_RULE
字段是您正在寻找的。 p>
答案 1 :(得分:0)
要查找数据库表中的所有外键,您可能需要尝试以下SQL查询:
use INFORMATION_SCHEMA;
select TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,
REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME from KEY_COLUMN_USAGE where
REFERENCED_TABLE_NAME = '<mytable>';
或者您也可以尝试执行以下查询来显示表的创建方式:
SHOW CREATE TABLE <mytable>;