MySQL通过更改第一个字符来更新数据

时间:2016-03-04 05:06:51

标签: mysql

我有这样的mysql数据表:

ID ---- Code
1  ---- A0001
2  ---- A0002
3  ---- A0003
4  ---- B0004
5  ---- B0005

我想更改(更新)第一个char为'A'到'B'的所有数据。所以结果是这样的:

ID ---- Code
1  ---- B0001
2  ---- B0002
3  ---- B0003
4  ---- B0004
5  ---- B0005

我已经尝试过此查询:

UPDATE `m_anggota` 
SET anggota_barcode = REPLACE(anggota_barcode, 'A', 'B') 
WHERE anggota_barcode LIKE 'A%'

但它不起作用(0行受影响)。任何人都知道为什么以及如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

我认为你只需要改变

WHERE anggota_barcode LIKE 'C%'

通过

WHERE anggota_barcode LIKE 'A%'

因为您正在寻找具有开头A而不是C的事件。

答案 1 :(得分:0)

试试这个 它根据你的查询改变

UPDATE `m_anggota` 
SET anggota_barcode = REPLACE(anggota_barcode,'A','B')
WHERE anggota_barcode LIKE 'A%';

但是在预期的输出中,column_name是不同的,因此查询是

UPDATE `m_anggota` 
SET anggota_barcode = REPLACE(Code,'A','B')
WHERE Code LIKE 'A%';

答案 2 :(得分:0)

你可以像这样动态地做

update m_anggota
set anggota_barcode = REPLACE(anggota_barcode,LEFT(anggota_barcode, 1),'B') 
WHERE anggota_barcode LIKE 'A%';