我有一個數據庫,我需要刪除一些外鍵,但我不知道外鍵是否仍然存在。查詢找到外鍵
我發現了一些存儲過程(http://forums.mysql.com/read.php?97,218825,247526),但我不想爲此創建存儲過程。
我試圖使用該存儲過程內的查詢,但我得到使用「是否存在(SELECT NULL FROM等。等一個錯誤......
我只能在存儲過程中使用IF EXISTS
?
現在,我可以運行的唯一的事情是
SELECT * FROM information_schema.TABLE_CONSTRAINTS
WHERE information_schema.TABLE_CONSTRAINTS.CONSTRAINT_TYPE = 'FOREIGN KEY'
AND information_schema.TABLE_CONSTRAINTS.TABLE_SCHEMA = 'myschema'
AND information_schema.TABLE_CONSTRAINTS.TABLE_NAME = 'mytable';
,我已經試過這太
IF EXISTS (SELECT NULL FROM information_schema.TABLE_CONSTRAINTS WHERE CONSTRAINT_SCHEMA = DATABASE() AND CONSTRAINT_NAME = parm_key_name) THEN
(...) do something (...)
END IF;
但我得到一個You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF' at line 1
我找實例論壇與簡單的查詢,我不能做,爲什麼這是行不通的感覺。
注:編輯更正斷開鏈接
那麼你的查詢是什麼樣的? –
你是什麼意思的「放下外鍵」? – gview
@ gview有點像ALTER TABLE'table' DROP FOREIGN KEY'fk'; –