从表视图行更新 MYSQL 中的行
我很困惑。
假设我有一个表“1”,包含三列“A”、“B”、“C”。列“C”有一些 NULL 值。另一个表“2”具有列“A”(与表“1”匹配)和“C”,其中“C”是完整的。
如何将 MYSQL 中表“2”的值合并到表“1”中?
我已经尝试过,并且发誓它应该有效:
UPDATE 1
SET 1.C = 2.C
FROM 1 JOIN 2
ON 1.A = 2.A
WHERE 1.C IS NULL;
还有线索吗?提示?想法?
I'm stumped.
Let's say I've got a table, '1', with three columns, 'A', 'B', 'C'. Column 'C' has some NULL values. Another table, '2', has columns 'A' (that matches table '1') and 'C', where 'C' is complete.
How can I merge the values from table '2' into table '1' in MYSQL?
I've tried, and swore up and down it should work:
UPDATE 1
SET 1.C = 2.C
FROM 1 JOIN 2
ON 1.A = 2.A
WHERE 1.C IS NULL;
And clues? hints? ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这有效:
答案根据更改的要求进行了更新。 T2 可能是一个视图,因此联接可能是一个更好的主意。不过,我对视图了解不多,所以我刚刚移出 UPDATE 行 t2...但我不确定它是否会改变任何内容。
This works:
Answer updated based on requirements changed. T2 could be a view, so a join might be a better idea. I don't know much about views, though, so I just moved out of the UPDATE line t2... but I'm not sure if it changes anything.
您的查询是正确的,但尝试使用
别名
:我添加了
反引号
,以防您的某些字段包含保留字your query is correct but try using
Alias
:I added
backtick
in case some of your fields contains RESERVED WORD