мне нужно сделать следующее и я борюсь с синтаксисом:Заменить значение столбца в таблице, используя регулярные выражения в MySQL
У меня есть таблица под названием «туЬаОй» и столбец с названием «MyColumn» (строка).
В моей колонке значение представляет собой построенное значение - например, одно из значений: «first: 10: second: 18: third: 31». Значения в mycolumn все используют один и тот же шаблон, только идентификаторы/числа различны.
Мне нужно изменить значение 18 (в данном конкретном случае) на значение из другой таблицы таблиц. Конечный результат для этого значения столбца должен быть «первым: 10: второй: 22: третий: 31», потому что я заменил 18 на 22. Я получил 22 из другой таблицы, используя 18 в качестве значения поиска.
Так в идеале я бы следующее:
UPDATE mytable
SET mycolumn = [some regex function to find the number between 'second:' and ":third" -
let's call that oldkey - and replace it with other id from another table -
(select otherid from tableb where id = oldkey)].
Я знаю, что MySQL имеет функцию REPLACE, но это не поймите меня достаточно далеко.
Почему вы хранящие данные в этих разделителями строк? Разве вы не можете разбить их на свои колонны? – eggyal
Да, я согласен, но я имею дело с некоторым наследием в базе данных. –