我有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


将非常有必要提示如何制作这种技巧!

最佳答案

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

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


但是我对您的表的结构有一个建议,如果您想在选定的行上使用,可以将select列的类型更改为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%'

07-27 21:31