MySQL:删除触发器

时间:2013-09-09 13:51:09

标签: mysql triggers

我有两个表:SENEVICA架构上的USERS和Wordpress架构上的wp_wsyija_user。 Senevica能够在Wordpress.wp_wsyija_user表上删除,插入和更新行 和Wordpress能够在Senevica.USERS上执行相同的命令。

使用Mysql Workbench我在SENEVICA.USERS上创建了一个触发器:

USE SENEVICA;
DELIMITER $$

CREATE TRIGGER TRG_UTENTE_AD AFTER DELETE ON USERS FOR EACH ROW
BEGIN
DELETE FROM WORDPRESS.wp_wsyija_user
WHERE OLD.PK_USERS = wp_wsyija_user.FK_USERS;
END

此触发器无效,因为我收到以下错误: Error Code: 1142. DELETE command denied to user 'SENEVICA'@'MYIP' for table 'wp_wsyija_user' 但是,使用SENEVICA的MysqlWorkbench,我可以删除Wordpress.wp_wsyija_user上的行。

MySQl Server基于Amazon RDS。

1 个答案:

答案 0 :(得分:0)

试试

GRANT DELETE ON databasename.tablename TO 'SENEVICA'@'MYIP';

FLUSH PRIVILEGES;

编辑:

怎么样:

SELECT * FROM mysql.db WHERE USER='SENEVICA';
SELECT * FROM mysql.tables_priv WHERE USER='SENEVICA';
SELECT * FROM mysql.columns_priv WHERE USER='SENEVICA';
SELECT * FROM mysql.procs_priv WHERE USER='SENEVICA';

FLUSH PRIVILEGES;

在这些查询中,您对表/列有特殊的权限....查看是否有任何查询返回任何行。

编辑2:

我也找到了:

GRANT SUPER 
ON '<database>'.'<tablename/*>' 
TO '<username>'@'<host/connection/ip/%>';