我在使用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 @ localhost身份登录。当我以root身份登录时,我收到相同的错误消息,并尝试执行相同的操作。
有谁知道我会如何解决这个问题?
答案 0 :(得分:1)
您的触发器是由用户同事创建的。
我猜你用DEFINER-definitions(包含同事)导入了一个转储。我将从转储中删除#DEFINER定义并再次导入它。在这种情况下,转储将重新创建定义器,但与运行导入的用户重新创建。在此之后,不应再发生被拒绝的信息。