作者:青烟_I乀n-a_396 | 来源:互联网 | 2022-11-27 19:48
我有一个关于MySQL中"更新"的问题.我有两张桌子table1
并且table2
已连接table1.id=table2.tab1
.现在,我想table2
根据值中的值更新值table1
.我试图像这样做:
UPDATE table2 SET table2.val='new value'
WHERE table1.id=table2.tab1 AND table1.val='xy'
换句话说,我想更改相应条目的值为'xy'的val
所有条目的值.table2
table1
不幸的是,这不起作用.有人能给我一个暗示吗?
1> Maxim Fedoro..:
您应该使用UPDATE + JOIN语句
UPDATE table2
JOIN table1 ON table1.id=table2.tab1
SET table2.val='new value'
WHERE table1.val='xy'
或子查询
UPDATE table2
SET table2.val='new value'
WHERE table2.tab1 IN (
SELECT id
FROM table1
WHERE table1.val='xy'
)