MySQL:将数据插入表中,一些数据来自另一个表(关系)

时间:2014-07-18 02:07:08

标签: mysql insert relational-database insert-update

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

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

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

1 个答案:

答案 0 :(得分:1)

您需要insert . . . select语法:

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