请求协助解决SQL INSERT命令权限被拒错误(已尝试论坛方案无效)
解决MySQL INSERT权限被拒绝的问题
嘿,看你被这个权限问题卡了两天,我来帮你一步步排查!先把错误里的关键信息拎出来:
The 'INSERT' command is denied to the user: '' @ '@ localhost' on the 'prposutionl' table
从这个提示能看出几个明显的异常点,咱们逐个击破:
1. 先搞定数据库连接的用户配置
错误里显示用户是空字符串(''),而且主机名写成了@localhost(多了个多余的@符号),这说明你的数据库连接配置肯定出问题了:
- 赶紧检查你的应用代码或者配置文件,确保正确填写了有操作权限的用户名,别留空;
- 主机名就写
localhost,别多加@符号,不然连接时会识别出错。
2. 检查并授予对应表的INSERT权限
假设你有一个合法的数据库用户(比如叫your_user),用管理员账号(比如root)登录MySQL,按以下步骤操作:
查看用户现有权限
SHOW GRANTS FOR 'your_user'@'localhost';
如果输出里没有INSERT ON covoiturage.proposition相关的权限,就给用户授权:
授予INSERT权限
GRANT INSERT ON covoiturage.proposition TO 'your_user'@'localhost'; FLUSH PRIVILEGES; -- 刷新权限让设置立刻生效
3. 修正表名的拼写差异
错误提示里的表名是prposutionl,但你执行的SQL里是covoiturage.proposition,这明显是拼写错了!:
- 登录MySQL,执行
USE covoiturage; SHOW TABLES;确认库内的真实表名,确保SQL语句里的表名和实际完全一致,不然权限再对也会报错。
4. 验证权限是否生效
授权后,重新用你的应用用户连接数据库,再执行你那条INSERT语句试试:
INSERT INTO covoiturage.proposition (pointdepart, pointarrivee, date, horaire, type, nbrdeplace, prix, numero, description) VALUES ('Bab bhar','Cité el Khadhra','2018-01-30','22:06','e','2','7.1','21625822649','At Vous pouvez décrire le trajet que vous proposee ainsi que ses options en détail :)! ');
如果还是不行,直接在MySQL客户端用当前用户执行SHOW GRANTS;,看看是否真的拥有该表的INSERT权限。
内容的提问来源于stack exchange,提问作者sasa
相关产品推荐
相关产品推荐

