Я хочу добавить объект в столбец MYSQL JSON.
Мое фактическое значение в столбце JSON:
{"owner": {"type": "radio", "label": "Test"}}
Что я хочу:
{"initial": {"complex_object": "here"}, "owner": {"type": "radio", "label": "Test"}}
Мой запрос MySQL на создание объекта JSON.
JSON_OBJECT('initial', JSON_OBJECT('label', 'text radio', 'type', 'radio', 'display', 'inline', 'prefill', false, 'choices', JSON_OBJECT('true', 'Oui', 'false', 'Non'), 'accepted_values', JSON_ARRAY('true')))
Я хотел бы добавить этот новый объект в начало уже существующей строки.
MySQL JSON не работает так, как я хочу, с JSON_ARRAY_APPEND, потому что это не массив, а мне не нужен массив.
JSON_SET изменить порядок ключей объекта, и необходимо соблюдать порядок, который я хочу, чтобы я.
Идея ?
Потому что в нашем проекте мы хотим отображать разные поля в определенном порядке. Мы не хотим менять код, поэтому нам нужно адаптироваться к нашей колонке MySQL.
Если вам нужны идемпотентные данные, вы НЕ МОЖЕТЕ использовать тип данных JSON. Тип данных JSON «организует» ваши данные для более быстрого поиска, а побочным эффектом является то, что он будет располагать ваши ключи в алфавитном порядке. Это означает, что вам придется использовать какой-то текстовый тип данных и переписать весь столбец, чтобы выполнить предварительную обработку.






{"initial": {"complex_object": "здесь"}, "владелец": {"type": "радио", "label": "Test"}} поэтому первая часть значения json является статической
Что это значит?(
Зачем вам ключи в определенном порядке?