表B包含以下列:Email Address
和表A包含以下列:email
如何将表A newsletter
更新为= 0,其中A。Email Address
= B。email
?
我试过以下似乎失败了:
UPDATE TableA
SET TableA.newsletter = 0
FROM TableB, TableA
WHERE TableA.email = TableB.Email Address
答案 0 :(得分:0)
这是在使用密钥
更新连接2个表的数据时查询的样子update
TableA t1
inner join TableB t2 on t2.`Email Address` = t1.email
set t1.newsletter = 0
答案 1 :(得分:0)
您只是缺少TableB.Email地址列的反引号,只要您有特殊字符或空格,就需要为columns \ tablenames \ schemas添加反引号。
UPDATE
TableA A, TableB B
SET A.newsletter = 0
WHERE A.email = B.`Email Address`
答案 2 :(得分:0)
使用子查询
UPDATE TableA ta
SET TableA.newsletter = 0
WHERE `Email Address` IN
(SELECT email FROM TableB WHERE email = ta.`Email Address`)