2014-10-07 112 views
0

我在更新MySQL中的表中的行有一些麻煩。觸發器被拒絕爲不同的用戶比我登錄

當我運行update table table_name set y="value" where z like "%something",響應是:

ERROR 1142 (42000): TRIGGER command denied to user 'coworker'@'localhost' for table 'table_name'

的問題是,我的身份登錄MADS @本地。我以root身份登錄時收到相同的錯誤消息,並嘗試執行相同的操作。

有誰知道我會如何解決這個問題?

+1

您可以放棄觸發器。聽起來很奇怪,root無法運行它。 – 2014-10-07 11:38:32

回答

1

您的觸發器是與用戶同事一起創建的。

我想你導入了DEFINER定義(包含同事)的轉儲。我會從轉儲中刪除#DEFINER定義並再次導入它。在這種情況下,轉儲將重新創建定義器,但與運行導入的用戶重新創建定義器。在此之後,被拒絕的信息不應再發生。

+0

謝謝!我現在要試試這個。 – madshvero 2014-10-07 11:43:46

+1

這工作。非常感謝你!我使用[here](http://dbperf.wordpress.com/2010/04/12/removing-definer-from-mysql-dump/)中的perl腳本來幫助我刪除定義者行。 – madshvero 2014-10-07 12:58:57

相關問題