且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如果存在特定行,如何将MYSQL列设置为特定值?

更新时间:2022-01-21 09:17:57

所以您只想从db获取这些值?还是要添加列?那是两个不同的目标.

So you want just to get those values from db? or you want to add column? those are 2 different goals.

因此,如果您只需要获取这些值,则可以:

So if you need just to get those values you can:

http://sqlfiddle.com/#!9/65b4c2/1

SELECT t.*, t2.flag
FROM table_name t
LEFT JOIN (
  SELECT name, MAX(IF(col1=2 AND col2=3,1,0)) flag
  FROM table_name
  GROUP BY name
  ) t2
ON t.name = t2.name

,如果您确实需要添加新列,请按照以下方式进行操作:

and if you really need to add new column then you go this way:

http://sqlfiddle.com/#!9/226fb3/1

ALTER TABLE table_name ADD COLUMN flag TINYINT;

UPDATE table_name t
LEFT JOIN (
      SELECT name, MAX(IF(col1=2 AND col2=3,1,0)) flag
      FROM table_name
      GROUP BY name
      ) t2
ON t.name = t2.name
SET t.flag=t2.flag