gpt4 book ai didi

mysql - 其他mysql用户无法访问存储过程插入的值

转载 作者:行者123 更新时间:2023-12-02 03:03:21 25 4
gpt4 key购买 nike

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

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';

关于mysql - 其他mysql用户无法访问存储过程插入的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44436479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com