powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Замена значений в столбце
7 сообщений из 7, страница 1 из 1
Замена значений в столбце
    #39724186
Closed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуй форум!

Народ, подскажите как осуществить запросом или другим каким то способом, следующее:
Имею в столбце значения, например ' 26 , 12, 4, 12'. Мне нужно заменить
12 на 15
4 на 16
12 на 22
Заменять он должен только в тех строчках, где есть цифра 26.

Чтобы в итоге получилось 26 , 15, 16, 22' . Нужно заменить более 100к записей, еще и с отбором по первой цифре.
Можно это осуществить?
...
Рейтинг: 0 / 0
Замена значений в столбце
    #39724193
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Closed,

ClosedИмею в столбце значения, например '26, 12, 4, 12'

В реляционных СУБД так значения в столбцах не хранят.
...
Рейтинг: 0 / 0
Замена значений в столбце
    #39724198
Antibiotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ClosedИмею в столбце значения
Так все таки в столбце или в строке?
...
Рейтинг: 0 / 0
Замена значений в столбце
    #39724201
Antibiotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Closed, если все же это строка (т.е. запись), а не столбец (т.е. поле). Тогда делаете выборку:
Код: sql
1.
select field1, field2. field3, field4, field5 from TABLE_NAME where field1 = 26


У Вас будут выбраны все записи где field1 = 26, ну а потом цикл, начиная с первой записи, увеличивая счетчик на 1 и передвигаясь на следующую запись
...
Рейтинг: 0 / 0
Замена значений в столбце
    #39724240
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ClosedЗаменять он должен только в тех строчках, где есть цифра 26
Ну таки 26 - ни разу не цифра. Число это...
А обеспечить это можно несложным условием во WHERE.

ClosedМне нужно заменить
12 на 15
4 на 16
12 на 22Заменять придётся по одному (в три запроса). Или строить трёхступенчатую замену.
...
Рейтинг: 0 / 0
Замена значений в столбце
    #39724526
Closed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я прошу прощения, если где то не так выразился. Познания в SQL самые низкие )
Выше варианты похоже не подойдут.

У меня полно записей, где сначало идет 26 а потом разные числа, в каждой строке разные. 26, 2, 4, 1 или 26, 8, 12, 15, 23, 53. Такого рода записи. Мне нужно массово заменить все значения. Но при условии что там присутствует 26, ибо есть и записи типо 31, 5, 42, 25 и т.д.

Я думал запрос должен выглядить типо:
Перезаписать/обновить записи в столбце "таком то" где
12=15
25=63
54=23
и т.д
При условии что в записи есть "26"

Можно что нибудь придумать?
...
Рейтинг: 0 / 0
Замена значений в столбце
    #39724564
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот, например, запрос для подстановки 12 => 15:
Код: sql
1.
2.
3.
UPDATE table
SET field = TRIM(TRAILING ',' FROM REPLACE(CONCAT(field, ','), ', 12,', ', 15,'))
WHERE LEFT(field, 2) = '26'


Для нескольких пар - либо составляй запрос с цепочкой замен, либо выполняй отдельный запрос для каждой пары.

Однако на порядок правильнее - сначала нормализовать данные.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Замена значений в столбце
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]