2015-01-20 142 views
0

有两个相同的结构化表,即一个&二。我想用另一个表的相同列的值更新一列。 看一看这样的:使用另一个表中另一列的值更新行

表一

id name value 
1 a  11 
2 b  12 
3 c  13 

表二

id name value 
1 c  11 
2 d  12 
3 e  13 

我想更新one.nametwo.name值。我怎么做?

+0

见http://stackoverflow.com/questions/1262786/mysql-update-query-based-on-选择查询 – SolarBear 2015-01-20 18:41:06

回答

1

UPDATE中使用JOIN来关联这两个表。

UPDATE One 
JOIN Two ON One.value = Two.value 
SET One.name = Two.name 

如果你需要使用LIMIT,你必须使用一个子查询:

UPDATE One 
JOIN (SELECT * 
     FROM Two 
     LIMIT 100) AS Two 
ON One.value = Two.value 
SET One.name = Two.name 
+0

是的,我得到了这一点,但我不能用这个查询限制。除非我在几行上进行测试,否则我无法继续并更新整个表格。有什么办法可以限制吗? – 2015-01-20 18:46:28

+0

@ShanilSoni它不是很好地改变飞行中的要求。 – Mihai 2015-01-20 18:48:07

+0

对不起,要求是更新整个表格,只是想测试几行。要求保持不变 – 2015-01-20 18:49:35

相关问题