2011-09-22 53 views
0

嘗試運行該SQL:的MySQL:觸發器/無定界符SUPER

DELIMITER $$ 

CREATE TRIGGER crypt_f 
BEFORE INSERT ON c_data_test 
FOR EACH ROW 
BEGIN 
UPDATE c_data_test 
SET f_id = ENCRYPT(f_id, 'key'); 
END$$ 

DELIMITER ; 

給出了這樣的錯誤:

ERROR 1227 (42000): Access denied; you need the SUPER privilege for this operation

我們不允許我們的主機超級訪問。我如何創建這個觸發器?

+0

你需要一個新的主機。 – blockhead

回答

3

您將不得不要求主機的DBA爲您運行觸發器創建語句。 MySQL的最新版本允許非SUPER用戶創建觸發器(MySQL 5.1.6及更高版本)。但是,如果二進制日誌記錄打開,您仍然需要SUPER權限。因此,首先仔細檢查MySQL的運行版本,如果其MySQL 5.1.6或更高版本和二進制日誌記錄被關閉,請求主機DBA的TRIGGER權限,否則您將不得不要求DBA創建爲你的觸發器。