Mariadb - элемент обновления столбца JSON внутри вложенного списка

У меня есть следующие данные в столбце json:

[
    ["model-1", 0.06232], 
    ["model-2", 0.33587], 
    ["model-3", 0.04962], 
    ["model-4", 0.235], 
    ["model-5", 0.31719]
]

Моя цель - добавить строку к первому элементу каждого внутреннего списка, чтобы результат был следующим:

[
    ["somestr/model-1", 0.06232], 
    ["somestr/model-2", 0.33587], 
    ["somestr/model-3", 0.04962], 
    ["somestr/model-4", 0.235], 
    ["somestr/model-5", 0.31719]
]

Мне удалось «извлечь» первые элементы с помощью mariadb JSON_EXTRACT следующим образом:

SELECT JSON_EXTRACT(factors, '$[*][0]') FROM my_table;

Но дальше продвинуться не удалось.

Можно ли добиться этого с помощью функций mariadb / mysql JSON? Или мне лучше сделать это на уровне приложения?

Вы хотите изменить базу данных или массив в памяти?

RiggsFolly 03.12.2018 15:27

В базе данных у меня есть столбец json в таблице, я хотел бы изменить его на новый столбец, а затем отбросить оригинал, если невозможно обновить его напрямую

architectonic 03.12.2018 15:32

Один из вариантов - dbfiddle.

wchiquito 03.12.2018 20:46

Не закапывайте значения в JSON, если вам необходимо их регулярно обновлять.

Rick James 04.12.2018 00:00

@RickJames Я, к сожалению, унаследовал систему в этом состоянии ..

architectonic 04.12.2018 12:00

Есть два способа справиться с унаследованной системой: постоянно тратить усилия на ее причуды; или потратьте разовое усилие на их улучшение.

Rick James 04.12.2018 18:38
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
6
131
0

Другие вопросы по теме