D. *_*der 1 mysql sql syntax join sql-update
我有一个关于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'
Run Code Online (Sandbox Code Playgroud)
换句话说,我想更改相应条目的值为'xy'的val所有条目的值.table2table1
不幸的是,这不起作用.有人能给我一个暗示吗?
您应该使用UPDATE + JOIN语句
UPDATE table2
JOIN table1 ON table1.id=table2.tab1
SET table2.val='new value'
WHERE table1.val='xy'
Run Code Online (Sandbox Code Playgroud)
或子查询
UPDATE table2
SET table2.val='new value'
WHERE table2.tab1 IN (
SELECT id
FROM table1
WHERE table1.val='xy'
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52 次 |
| 最近记录: |