0
下面将让我从一个参照表t2
值我想插入或者用表t1
更新现有的元组:在MySQL中,如何更新现有行的某些列并从参考表中插入新行?
SELECT
id, col1
FROM
t2
LEFT OUTER JOIN
t1
ON
t2.id=t1.id
如果有id
一个元组t1
已经存在,它应该有更新从t2
中选择的值。如果在t1
中不存在带有id
的元组,则应该插入(id, col1)
,并将其他列设置为默认值。
如何有效地做到这一点?
在第一个查询中是't1.id = t2.id,'必要的吗? – qazwsx 2012-07-18 17:23:10
在更新中?不,只需要放置你想要更新的字段。在加入?是的,它是必需的 – 2012-07-18 17:26:16
在第一个查询中,你不需要'更新t1 SET t1.col1 = t2.col1 WHERE t1.id = t2.id FROM t1 LEFT OUTER JOIN t2 ON t1.id = t2.id WHERE t2.id不是NULL'? – qazwsx 2012-07-18 17:27:01