2017-06-13 36 views
0

我需要調用修改觸發器內根密碼的過程。 這是程序mysql:使用觸發器內的程序

delimiter // 
create procedure foobar() 
begin SET PASSWORD FOR 'root'@'localhost' = 'foobar'; 
end// 
delimiter ; 

,這是觸發

delimiter // 
create trigger rootpass 
after delete on map 
for each row 
begin 
call foobar; 
end // 
delimiter ; 

看來語法是正確的,但是當我啓動刪除我得到這個錯誤

ERROR 1445(HY000 ):不允許從存儲的功能或觸發器設置自動提交

所以我想我試圖做一個禁止的東西,有什麼辦法可以在mysql中工作嗎? 我知道整個事情聽起來很奇怪/可怕,但這是我的應用程序瞭解某些內容已被刪除的方式。

+0

它使**無**感覺修改過程中的根密碼。有人在某個地方完全解決了錯誤的問題。 –

+0

是的,這是毫無意義的,100%同意,我是一個傻瓜,這是一件可怕的事情。儘管如此,我還是需要知道,如果我問一下這個技巧是否可行,那麼我需要測試一些外部代碼。 –

+0

我已經在下面回答了您的問題,但是...... *「不過,我需要知道,如果我想問是否因爲我需要測試證明某些外部代碼,它是否在技術上可能會受到一些骯髒的詭計。」*。 ..這個陳述感覺好像你在玩遊戲,在這裏......我們更喜歡[關於你的實際問題的問題,而不是你試圖解決的問題](http://xyproblem.info)。 –

回答