MySql - Bir dizenin bir kısmını güncellemenin yolu?


103

Bir dizenin sadece bir kısmını MySQL sorgusu aracılığıyla güncellemenin bir yolunu arıyorum.

Örneğin, alan değerinin bir parçası olarak tümü 'dizge' içeren 10 kaydım varsa (yani, 'bir şey / dize', 'bir şey / dize bakma', 'bir şey / dize / vb.') 'Dizesini değiştirmenin bir yolu var mı Bir sorgu aracılığıyla her satır için 'başka bir değere', böylece sonuç 'bir şey / başka bir değer', 'bir şey / başka bir değer', 'bir şey / dize / vb.' olsun, 'başka bir değeri' değiştirmenin bir yolu var mı

Yanıtlar:


231

Bunun işe yarayacağını düşünüyorum:

UPDATE table
SET field = REPLACE(field, 'string', 'anothervalue')
WHERE field LIKE '%string%';

26
UPDATE `table` SET `field` = REPLACE(`field`, 'string', 'anothervalue')

14

LIKEİlgilendiğiniz satırları bulmak ve REPLACEişlevi kullanarak bunları güncellemek için operatörü kullanın .

Örneğin:

UPDATE table_name SET field_name = REPLACE(field_name,'search','replace') WHERE field_name LIKE '%some_value%'

0

Bunun gibi bir şey herhangi bir şekilde çalışıyor mu?

update table_name
set column_name = replace(column_name, 'string%', 'string') 
where column_name like '%string%'
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.