2014-12-26 5 views
1

Я хочу удалить часть моей строки в mysql. как это:Удалить часть строки из базы данных (значение в наборе строки базы данных)

мой ряд: 1,2,3,4

Я хочу сделать это: 1,2,3

, как я могу это сделать?

Я знаю, что это можно сделать с помощью этого кода, но есть ли лучший способ?

UPDATE Table SET message = REPLACE(message, ",4", "") WHERE id = 1;

+0

значения 1,2,3,4 находятся в одной колонке вправо? –

+0

Было бы хорошо, если бы и обновить столбец, например UPDATE Table SET message = "1,2,3" WHERE id = 1; – Trushali

+0

'UPDATE Table SET message =" 1,2,3 "WHERE id = 1;' попробуйте это ... –

ответ

3

Так что это сработает.

UPDATE Table SET message = CASE 
WHEN message LIKE '4,%' 
THEN // enter code here to replace '4,' in message with '' 
WHEN message LIKE '%,4,%' 
THEN // enter code here to replace ',4,' in message with ',' 
WHEN message LIKE '%,4' 
THEN // enter code here to replace ',4' in message with '' 
ELSE // this means all other occurances of 4 like 14,41,44,etc do nothing here or skip this else condition 
END; 
0

Для безопасности fistly протестировать код на тестовом сервере.

, если вы будете заменить, 4, MySQL будет заменить, 40 слишком

вы должны изменить строку

, 1,2,3,4,

и вы должны заменить, 4,

+0

Вот почему он использует идентификатор в состоянии WHERE :) –