在MYSQL数据库中,我想在不选择的情况下给用户更新权限,可以吗?
这是可能的,但你的问题是,你的 UPDATE-Query 包含一个 WHERE 子句,它至少需要在内部查询字段。因此,您在这里需要 SELECT 权限。
否则,可以尝试使用强力技术通过使用 UPDATE-Query 并检查它是否已受影响的行来获取表的实际内容。
例子:
UPDATE 客户 SET some_irrellevant_field=1 WHERE user = 'jimmy' AND Sex_orientation = '2'
一旦受影响的行数> 0,您就会获得该信息。因此,允许这样做可能会很危险。
但您可以显式授予单个列的权限。假设您想要更新具有特定 id 的用户的密码哈希,您向数据库用户授予 id 列的选择权限,并授予哈希列的更新权限。
PHPMyAdmin table specific permission dialog (sorry, some parts of the screenshots are in german):
那么这应该可以正常工作:
更新用户 SET hash='0123456789abcdef' 其中 id = 1234
或者,如果列级权限在您的 DBMS 或存储引擎中不可用,您仍然可以使用单独的表或数据库,并在需要时加入它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)