-- ---------------------------- -- 判斷 vrv_paw_rule 表是否存在 thresholdMin 字段,不存在則添加; 存在則修改字段類型 DELIMITER ?? DROP PROCEDURE IF EXISTS schema_change?? CREATE PROCEDURE schema_change() BEGIN IF NOT EXISTS (SELECT * FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = 'vrv_paw_rule' AND column_name = 'thresholdMin') THEN ALTER TABLE vrv_paw_rule ADD COLUMN thresholdMin BIGINT; ELSE ALTER TABLE vrv_paw_rule MODIFY COLUMN thresholdMin BIGINT ; END IF; END?? DELIMITER ; CALL schema_change();
delimit命令:
就是告訴mysql解釋器,該段命令是否已經結束了,mysql是否可以執行了,即改變輸入結束符。
默認情況下,delimiter是分號“;”。
在命令行客戶端中,如果有一行命令以分號結束,
那么回車后,mysql將會執行該命令。
但有時候,不希望MySQL這么做。因為可能輸入較多的語句,且語句中包含有分號。
默認情況下,不可能等到用戶把這些語句全部輸入完之后,再執行整段語句。
因為mysql一遇到分號,它就要自動執行。
這種情況下,就可以使用delimiter,把delimiter后面換成其它符號,如//或$$。
此時,delimiter作用就是對整個小段語句做一個簡單的封裝。
此命令多用在定義子程序,觸發程序等mysql自己內嵌小程序中。