使用table2中的select field1更新表,其中filed3 =''

时间:2014-05-21 19:14:47

标签: mysql sql

我有两张表如下

 **ipmac2** 
mac                     Monitor
C0:A0:BB:CA:3D:72         on
54:04:A6:95:D0:59         off
00:0B:0E:0F:00:ED         on

**ipmac1**
mac                     Monitor
C0:A0:BB:CA:3D:72         Null
54:04:A6:95:D0:59         Null
00:0B:0E:0F:00:ED         Null

所以我想更新table2监视字段,其中精确的mac在table1中。 我想得到一个查询来这样做。 table2 - 适用于Mac' 00:0B:0E:0F:00:ED'

Mac                        Monitor
00:0B:0E:0F:00:ED           on

PLeae在这里帮助我。

2 个答案:

答案 0 :(得分:2)

一种方法是通过使用它们之间的公共密钥连接表来进行更新。

update table2 t2
join table1 t1 on t1.mac = t2.mac
set t2.monitor = t1.monitor 

答案 1 :(得分:0)

update table2
set monitor = (select t1.monitor from table1 t1 where t1.mac = table2.mac limit 1)