У меня есть новая проблема с запросом:MySQL - вырезать первую строку в строке в зависимости от состояния
Я хочу обновить «столбец» столбец в зависимости от идентификатора с некоторыми новыми данными:
UPDATE table SET column = CASE
WHEN id = 2 THEN CONCAT(`column`, ',7')
WHEN id = 3 THEN CONCAT(`column`, ',10')
ELSE column
END;
Unfortunatelly, добавив, новые значения в столбце должны иметь запятую в начале, потому что в столбце хранятся данные как значения, разделенные запятыми. Например, это выглядит следующим образом:
id | column
-------------
2 | 3, 1, 20
3 | 1, 5
После выполнения запроса я получаю:
id | column
-------------
2 | 3, 1, 20, 7
3 | 1, 5, 10
Это все хорошо до сих пор. Unfortunatelly, если я обновлю столбец, который пуст все начинается с запятой, и это выглядит следующим образом:
id | column
-------------
2 | ,7
3 | ,10
Это вызывает некоторые проблемы при Грабинг данных из БД becuase, когда я взорваться() это, он делает первое значение массива пустым. Я хочу удалить такие первые запятые при обновлении таблицы. Я предполагаю, что я должен сделать некоторые инструкции «if», которые проверяют длину «столбца» (с char_length), и если это пустое обновление без первой, начиная с запятой. Можете ли вы помочь мне с правильным синтаксисом?
Основная информация: Как сделать правильный запрос, который обновляет столбец, как описано выше, значениями, начинающимися с запятой, если существует столбец. Если «column» пуст, обновите его с переменной без начальной запятой.
отлично работает, спасибо. – Kalreg
Добро пожаловать! Счастливое кодирование! – SteAp