如何解决MySQL插入或使用嵌套查询更新
我有一个查询,需要在表中插入值并在键已经存在的情况下更新它们。
此请求如下:
INSERT INTO table1(`id`,`day`,`quantity`,`residue`)
SELECT
id,SUBDATE(NOW(),1) as day,(
A SUB QUERY
) as qte,(
ANOTHER SUB QUERY
) as r
FROM table2
ON DUPLICATE KEY UPDATE
quantity=qte,residue=r;
此请求导致错误Unknown column 'qte' in 'field list'
我想念什么?
解决方法
您想要VALUES()
:
ON DUPLICATE KEY UPDATE
quantity = VALUES(quantity),residue = VALUES(residue)
这是如何工作的explained in the documentation:
在
ON DUPLICATE KEY UPDATE
子句中的赋值表达式中,可以使用VALUES(col_name)
函数引用INSERT
部分中的列值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。