mysql - 如何解决错误“您无法在 FROM 子句中指定目标表 'users' 进行更新”
问题描述
insert into users(email, is_CM, password, username)
values ('chand122345@gmail.com','N','*****','sidd@12345')
ON DUPLICATE KEY UPDATE username=(SELECT username FROM users WHERE username = VALUES(username) OR email= VALUES(email));
我正在尝试运行此查询,但出现错误 ERROR 1093 (HY000): You can't specify target table 'users' for update in FROM 子句
解决方案
那里通常不使用子查询。我希望:
insert into users (email, is_CM, password, username)
values ('chand122345@gmail.com', 'N', '*****',' sidd@12345')
on duplicate key update username = values(username), email = values(email));
这会将现有行设置为传递给查询的值。
推荐阅读
- python - 在 Django 模型中添加多个图像
- python - Pandas Groupby 年月成列
- automapper - AutoMapper 10.0.0 with F# - 如何在没有额外映射的情况下修复它?
- indy - Indy 10 电子邮件附件出现在正文中
- android - 颤振构建apk导致错误:找不到用于签名配置“发布”的密钥库文件
- javascript - Vue - 在这种情况下如何传递数组?
- java - Hibernate 创建两个连接同一张表
- web-scraping - 有什么方法可以得到所有标题链接的输出,因为 iv 没有也没有错误
- python - 查找列表字典的最佳值组合(可能使用熊猫)
- laravel - 具有请求验证和资源的 Laravel trait crud 控制器