如何在保持字段特定值的同时更新它?

时间:2018-07-12 21:07:23

标签: mysql sql

我有一张这样的桌子:

// users 
+----+---------------+ 
| id |      name     |
+----+---------------+
| 1  | Martin        |
| 2  | Peter ♦ |
| 3  | Ali           |
+----+---------------+

我要做的就是更新name列并为所有记录设置一个新值(Jack)。但是我还需要保持♦到处都是。所以这是预期的结果:

+----+---------------+ 
| id |      name     |
+----+---------------+
| 1  | Jack          |
| 2  | Jack ♦  |
| 3  | Jack          |
+----+---------------+

这也是我的查询:

UPDATE users SET name = "Jack" WHERE 1;

我的查询不关心♦。如何添加?

2 个答案:

答案 0 :(得分:3)

嗯。 。 。这是你打算的吗?

UPDATE users
    SET name = (CASE WHEN name like '% ♦' then 'Jack ♦' else 'Jack' end)
    WHERE 1;

答案 1 :(得分:3)

UPDATE users
    SET name = (CASE WHEN name like '% ♦ %' then 'Jack ♦' else 'Jack' END)
    WHERE 1;