如何根据查询结果修改记录的内容?

时间:2010-05-10 10:11:18

标签: sql mysql

我在表格中插入了一些错误记录,我可以通过下面的sql进行查询,找到标记为一半的记录。

SELECT * FROM `marathon`
WHERE gender = 'male' && distance = 'half';

如何编写SQL然后我可以将结果行距离从'half'修改为'full'

谢谢。

2 个答案:

答案 0 :(得分:1)

更新marathon 设置距离='完整' 性别='男性'和距离='一半';

阅读http://dev.mysql.com/doc/refman/5.0/en/update.html(mysql更新语法)

答案 1 :(得分:1)

Thierry有正确的答案,但我希望分享我在编写更新语句时使用的技术:

update m
set distance = 'full'
--select marathon_id, gender, distance from  
From marathon m
WHERE gender = 'male' and distance = 'half';

通过将select作为注释嵌入到stamenet中,您可以在运行更新之前检查哪些记录会受到影响,如果要更新到复杂的公式,您甚至可以查看当前和更新的结果。如果您已经拥有选择的声明,那就更好了,在它上面添加更新部分非常容易。这也有助于您了解更新如何直接与您的选择相关。