如何将INSERT INTO-> ON DUPLICATE KEY UPDATE函数的值转换为SELECT?

时间:2019-02-13 11:44:41

标签: mysql

我已经设置了一个数据库,我想要的是以下内容:

在表a中,我为用户提供了信息和他的观点
在表b中,我获得了有关每个用户及其“级别”的更多信息
在表c中,我得到了基本设置
在表d中,我获得了有关每个用户可以拥有的级别的详细信息

我想做的是:
INSERT ON DUPLICATE KEY UPDATE或IF EXISTS UPDATE(插入将是我的最爱) 我想一次与多个用户(通过其ID)进行查询

现在的问题是如何将VALUE放入SELECT语句中?

到目前为止我的代码:

INSERT INTO users (id) VALUES ('12345')
ON DUPLICATE KEY UPDATE                   
points = (points + (
SELECT (d.multiplier * c.base_points)
FROM b
INNER JOIN d ON b.level = d.id , c
WHERE b.level = d.id AND b.id = '12345'));

我现在要更改:

WHERE
b.level = d.id AND
b.id = '12345'));

以便我可以使用VALUES(id)-但是当我这样做时,结果为NULL

WHERE
b.level = d.id AND
b.id = VALUES(id)));

:(
我该如何使用我拥有的ID?

致谢

0 个答案:

没有答案