Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Mysql Json автоупорядочивание по ключу 
V
    Опции темы
Frozen_Coyote
Дата 25.5.2017, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 20.9.2007

Репутация: нет
Всего: нет



Добрый день,

подскажите, почему в поле VARS типа JSON после запроса

Код

            UPDATE field 
            SET 
            name = 'Новое поле', 
            vars = '{"id":"33","variants":{"0":"... выберите ...","1495714233146":"Второй вариант","1495714228866":"Первый вариант"},"name":"f123","readonly":"0"}'
            WHERE id = '33'


данные выглядят как

Код

{"id": "33", "name": "f123", "readonly": "0", "variants": {"0": "... выберите ...", "1495714228866": "Первый вариант", "1495714233146": "Второй вариант"}}


как сделать чтобы пришедший порядок данных был сохранен? это принципиально в моем случае

спасибо

PM MAIL   Вверх
Akina
Дата 25.5.2017, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 453



Цитата(Frozen_Coyote @  25.5.2017,  17:08 Найти цитируемый пост)
как сделать чтобы пришедший порядок данных был сохранен?

Никак.
JSON - это коллекция объектов, а не массив или строковый литерал. А в коллекции порядок элементов уровня не определён, потому что обращение к элементам выполняется по именам. Соответственно при записи в таблицу объекты-компоненты оказываются отсортированы по ключу. Это by design и не лечится.

Цитата(Frozen_Coyote @  25.5.2017,  17:08 Найти цитируемый пост)
это принципиально в моем случае

Значит, Вы неправильно выбрали тип данных. Измените на varchar.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Frozen_Coyote
Дата 25.5.2017, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 20.9.2007

Репутация: нет
Всего: нет



спасибо.

не, тип данных верен, просто думал, уж если не массив - то и не сортируй его ни по ключам ни по чему, не трогай, клади as is. Ан нет... Но не страшно, решение зависимой задачи все равно найдено. 

Спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.1388 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.