我有一个包含两列a和b的表。类似的东西:
a | b
+----+----+
x | l
y | m
z | n
使用单个mysql更新查询,我想更新多行中的列...
update tableName set b = l1,m1,n1 where a= x,y,z respectively.
更新查询应该是什么样的?
编辑我的问题以使其更清晰: 我不想在列值中附加1。我想将它们更新为与旧值不同的新值。 那么使用单个MYSQL查询有没有办法做到这一点?
基本上,我想将这些查询合并为一个:
update tableName set b=newVal, where a=something;
update tableName set b=anotherNewVal, where a=something_else;
update tableName set b=yetAnotherNewVal, where a=something_else_again;
非常感谢!
答案 0 :(得分:0)
试试这个
UPDATE tableName SET b = CONCAT(b, '1') WHERE a = 'x' OR a = 'y' OR a = 'z'
OR
UPDATE tableName SET b = CONCAT(b, '1') WHERE a IN ('x', 'y', 'z')
答案 1 :(得分:0)
$('.childboxes').each(function () {
var divs = $(this);
var divID = $(this).attr('id');
var position = divs.position();
var left = position.left;
var top = position.top;
AllDivsCoor.push({ "id": divID, "leftcoor": left, "topcoor": top });
});
AllDivsCoor.sort('leftcoor');
答案 2 :(得分:0)
非常感谢你的帮助。 @Giorgos Betsos,@ mynawaz和@Mathew。我找到了查询!
update tableName
set b = case
when a ='x' then 'a is x'
when a ='y' then 'a is y'
else b
end;