Как узнать размера массива JSON в mysql?

362
23 января 2017, 18:54

Мне необходимо в триггере узнать размер массива JSON,но я не знаю как узнать её,знаю что можно так

INSERT INTO new_table SET new_tablecol = NEW.content->'$[0]';

Но как именно размер узнать?

Answer 1

Для подсчёта количества есть функция JSON_LENGTH. У вас должен быть mysql версии не ниже 5.7, т.к. именно там появилась поддержка JSON. Для более старых - надо будет извращаться. И извращаться сильно.

Соответственно, записать куда-то из триггера - надо этой функции передать нужное JSON-значение через NEW или OLD псевдостроки.

INSERT INTO new_table SET new_tablecol = JSON_LENGTH(NEW.content);

Вот так, если я верно понял, какой именно элемент надо считать.

READ ALSO
Sugar ORM как в запросе взять boolean

Sugar ORM как в запросе взять boolean

Не могу вытянуть данные с запросом на булевое значениеЗапрос делаю так:

457
Отладка java for web

Отладка java for web

Пытаюсь писать серверную часть на JavaРазвернул maven-проект со Spring MVC, вникаю в мануал

311
Преобразование кириллицы в URL (Java)

Преобразование кириллицы в URL (Java)

Впервые с этим сталкиваюсь:

419
Ньюанс по дженерикам

Ньюанс по дженерикам

Вопрос может показаться крайне простым, однако, самую очевидную информацию, порой, бывает сложно "загуглить"В пример предложу инициацию ArrayList:

349