我有这样的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行受影响)。任何人都知道为什么以及如何解决这个问题?
答案 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%';