@XenK

MySQL как изменить определенную часть поля?

Имеется поле "item", которое содержит: "0;0;0". Вопрос, как мне изменить в запросе, например только второй ноль на 1, или же на 2, посредством php соответственно?
  • Вопрос задан
  • 2237 просмотров
Пригласить эксперта
Ответы на вопрос 3
difiso
@difiso
В параллельной вселенной я космонавт
Если у вас возник такой вопрос, то у вас непродуманная архитектура. Разделите на три поля и меняйте соответствующее. А в данной ситуации только UPDATE запрос на измение всего поля. С предварительным формированием новой строки, естественно.
Ответ написан
Cyapa
@Cyapa
UPDATE `table`
SET `item` = INSERT(`item`, 3, 1, '1')
Ответ написан
Комментировать
Immortal_pony
@Immortal_pony Куратор тега PHP
// Каким-то образом получаем данные.
$field = "0;0;0";

// Распаковываем данные в массив
$pieces = explode(';', $field);

// Изменяем массив соответствующим образом
$pieces[1] = 2;

// Запаковываем данные вновь
$field = implode(';', $pieces);

// Проверяем
echo $field // Выведет 0;2;0


Далее надо сохранить измененные данные.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы