gpt4 book ai didi

mysql - 更新命令拒绝用户插入重复键更新

转载 作者:行者123 更新时间:2023-11-30 21:30:01 26 4
gpt4 key购买 nike

我正在尝试像这样在 MySQL 8 中对重复键更新使用插入:

INSERT INTO orders SELECT * FROM temporary_orders ON DUPLICATE KEY UPDATE column1='a';

但是我得到这个错误:

UPDATE command denied to user 'user'@'localhost' for column 'column1' in table 'orders';

最初我的用户只有SELECTUPDATE权限,但现在我给了用户全局权限,仍然出现错误。运行:

INSERT INTO orders SELECT * FROM temporary_orders;

在没有 ON DUPLICATE KEY UPDATE 部分的情况下工作。我也可以运行:

UPDATE orders SET column1='a';

我的特定 MySQL 版本是 mysql Ver 8.0.16 for Linux on x86_64 (MySQL Community Server - GPL)

我运行此命令以授予我的用户全局权限:

GRANT ALL ON *.* TO 'user'@'localhost';

并运行:

SHOW GRANTS FOR 'user'@'localhost';

输出:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `user`@`localhost`

更新

我已经测试过,使用 root 用户确实有效,但我不确定可能缺少什么权限。

最佳答案

我最终创建了一个新用户,然后像这样授予所有权限:

GRANT ALL ON *.* TO 'user'@'localhost';

而且效果很好。不确定是什么问题。

关于mysql - 更新命令拒绝用户插入重复键更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56800194/

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