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

标签 mysql insert

我有一个包含 3 列的表 PRODUCTS

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%'

但是我对你的表格结构有一个建议,如果你想对所选行进行操作,你可以将选择列的类型更改为TINYINTBOOLEAN 然后你的表将是这样的:

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

这将帮助您编写更简单的查询,最终查询将是这样的:

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

关于MySQL如何从一个列中获取数据并放入同一ID和同一表下的另一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17969407/

相关文章:

c - 如何在字符串之间添加多个字符?

如果 sqlite3 满足条件,则插入到表中

Oracle,从具有多行的子查询插入多行

mysql - 如何在 R 中彻底断开与 MySQL 的连接?

mysql - MySQL 中 MINUS 子句的替代方案?

对于类似的查询,带有索引的 MySQL 选择性能会降低

mysql - 当所有表都是 MYISAM 时,打开 INNODB 引擎是否安全?

sql - INSERT into table 和 UPDATE 另一个表中的外键(Sql Server 2008)

mysql - 选择同时拥有狗和猫的用户

jquery - 按字母顺序将行插入到表格中的某个单元格上