MySQL如何从一列中获取数据并将其放在同一ID和同一个表下的另一列中

时间:2013-07-31 11:42:54

标签: mysql insert

我的桌子产品有3列

id   merchant   selected (empty column)
1    Roger
2    Anthony
3    Maria
4    Joseph
5    Serge

我想进行类似这样的查询(语法错误,只是解释我尝试做什么的想法)

SELECT * WHERE merchant LIKE '%thon%' FROM products.merchant 
INSERT INTO products.selected

但要放在同一个ID行,所以结果应该是这样的

id   merchant   selected
1    Roger
2    Anthony    Anthony
3    Maria
4    Joseph
5    Serge

非常有必要提示如何制作这样的技巧!

3 个答案:

答案 0 :(得分:2)

@Kickstart和@daghan的查询是正确的:

UPDATE products
SET selected = merchant
WHERE merchant LIKE '%thon%'

但是我对你的表的结构有一个建议,如果你想要选择的行,你可以将选择列的类型更改为 TINYINT BOOLEAN 然后你的表将是这样的:

id   merchant   selected
1    Roger
2    Anthony    1
3    Maria
4    Joseph
5    Serge

这将帮助您编写更简单的查询,最终查询将是STH,如下所示:

UPDATE products
SET selected = 1
WHERE merchant LIKE '%thon%'

答案 1 :(得分:1)

只是一个简单的更新,如果我正确地阅读您的要求: -

UPDATE products
SET selected = merchant
WHERE merchant LIKE '%thon%'

答案 2 :(得分:1)

UPDATE PRODUCTS SET selected = merchant WHERE merchant LIKE '%thon%'