Hmm ... có thể là cái này?
SELECT @before := CONCAT(SUBSTRING_INDEX(`columnname`,',',3),','),
@len := LENGTH(SUBSTRING_INDEX(`columnname`,',',4)+1
FROM `tablename` WHERE ...;
SELECT CONCAT(@before,'newstring',SUBSTRING(`columnname`,@len+1)) AS `result`
FROM `tablename` WHERE ...;
Thay thế mọi thứ nếu cần, nhưng điều đó chỉ nên làm.
CHỈNH SỬA :Được hợp nhất thành một truy vấn:
SELECT
CONCAT(
SUBSTRING_INDEX(`columnname`,',',3),
',newstring,',
SUBSTRING(`columnname`, LENGTH(SUBSTRING_INDEX(`columnname`,',',4)+1))
) as `result`
FROM `tablename` WHERE ...;
+1
đó có thể cần +2
, Tôi không chắc, nhưng điều đó sẽ hiệu quả.