考虑下表:
Email | Message | Votes
------+---------+-------
Email1| Msg1 | 2
------+---------+-------
Email2| Msg2 | 1
------+---------+-------
Email3| Msg2 | 3
现在,我想使用以下查询更新投票列下的第三个单元格:
UPDATE tablename SET Votes=4 WHERE Message=Msg2
但问题是它会更新投票下的两个单元格,其中 Msg2 存在。但我想更新电子邮件= Email3 和消息= Msg2 的单元格。
可以使用UPDATE查询吗?
答案 0 :(得分:2)
使用多个condtition并将其与AND
:
UPDATE tablename
SET Votes = 4
WHERE Message = 'Msg2'
AND Email = 'Email3';
或使用行构造函数:
UPDATE tablename
SET Votes = 4
WHERE (Message, Email) = ('Msg2','Email3');
的 SqlFiddleDemo
强>
修改强>
我试过但它没有用。它没有更新任何东西
因此,您提供的数据与您提供的数据不同。可能是空白。尝试:
UPDATE tablename
SET Votes = 4
WHERE TRIM(Message) = 'Msg2'
AND TRIM(Email) = 'Email3';