我有一张表格如下:
项目:
name VARCHAR(50), //STORES Item's Name
brand VARCHAR(50), //STORES Item's Brand
sales_rate DOUBLE(8,2),
PK(name, brand)
此表的主键是数据库中其他表的外键。
现在我的问题是,用户错误地在brand
列中的name
列和项目品牌中插入了该项目的名称。所以我的问题是如何编写更新查询以交换列name
和brand
的值?
答案 0 :(得分:2)
您可以尝试这样:
UPDATE myTable SET x=(@temp:=x), x = y, y = @temp
where somecondition;
由于您评论说只有3行受到影响,因此您必须添加somecondition
答案 1 :(得分:1)
你可以这样做
UPDATE `items`
SET name=(@temp:=name), name= brand, brand = @temp
WHERE (name, brand) = ('somebrand', 'somename');
它有效..