データベースにDELETE ON CASCADE
クエリがあるかどうかを知ることはできますか?
質問する
10263 次
2 に答える
32
はい。クエリするだけでINFORMATION_SCHEMA
SELECT * FROM information_schema.REFERENTIAL_CONSTRAINTS
またはより具体的に
-- This query will list all constraints, their delete rule,
-- the constraint table/column list, and the referenced table
SELECT
r.CONSTRAINT_NAME,
r.DELETE_RULE,
r.TABLE_NAME,
GROUP_CONCAT(k.COLUMN_NAME SEPARATOR ', ') AS `constraint columns`,
r.REFERENCED_TABLE_NAME
FROM information_schema.REFERENTIAL_CONSTRAINTS r
JOIN information_schema.KEY_COLUMN_USAGE k
USING (CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME)
-- using MySQL's GROUP BY clause. In other DB's more columns would need to be
-- specified!
GROUP BY r.CONSTRAINT_CATALOG,
r.CONSTRAINT_SCHEMA,
r.CONSTRAINT_NAME
マニュアルのテーブルの詳細を読むREFERENTIAL_CONSTRAINTS
于 2012-10-30T08:14:34.377 に答える
14
あなたが使用することができます
SHOW CREATE TABLE `tablename`
テーブルの定義全体を取得します。これには、外部キー制約が含まれます。
于 2012-10-30T08:14:27.707 に答える