我在下面的代码中创建了一个存储过程

CREATE DEFINER=`john`@`%` PROCEDURE `new_type`(IN typ_id int(11), `typ_name` varchar(100)) 
BEGIN 
INSERT INTO user_type (`typ_id`,`typ_name`,`usr_id`) VALUES (typ_id,usr_typ_name,usr_id) 
  ON DUPLICATE KEY  UPDATE  `typ_name` = VALUES(typ_name), 
  `usr_id` = VALUES(usr_id); 
END 

插入和更新工作正常。关于选择的问题,我在MYSQL 中有两个用户帐户。 john 创建的过程和他只有这个数据库的访问权限。另一个名为“Admin”的用户名,他拥有所有数据库的所有访问权限。选择查询的结果是多种多样的。看例子。

对于管理员的结果

1 'Admin', '4'

2 'Manger', '5'

3 'Secretary', '6'

对于约翰的结果

1 'Admin', '4'

2 'Manger', '5'

3 'Secretary', '6'

4 'User', '7'

5 'Assist Mager', '8'

为什么管理员用户没有得到'User' , 'Assist Mager'

请您参考如下方法:

如果你想给管理员用户完全访问权限,那么你需要给它grant all privileges

SQL GRANT 是用于向用户提供对数据库对象的访问或特权的命令。

GRANT ALL PRIVILEGES ON database.* TO 'admin'@'localhost'; 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!