MySQL:将数据插入表中,某些数据来自另一个表(关系) [英] MySQL: Insert data into table, some data comes from another table (relational)

查看:196
本文介绍了MySQL:将数据插入表中,某些数据来自另一个表(关系)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想一次运行以下两个查询:

I want to run the following two queries in one:

SELECT id FROM user_settings WHERE ......
$id = id_from_query_above();
$value = 100; // this could be anything
INSERT INTO user_config (sid, value) VALUES($id, $value) ON DUPLICATE KEY UPDATE value=$value

(请注意,如果已经插入与主键关联的行,我想更新).

(notice that I want to update if a row associating to the primary key has already been inserted).

推荐答案

您需要insert . . . select语法:

INSERT INTO user_config(sid, value)
    SELECT id, $value
    FROM user_settings
    WHERE ......
    ON DUPLICATE KEY UPDATE value = $value;

这篇关于MySQL:将数据插入表中,某些数据来自另一个表(关系)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆