- 18, May 2024
- #1
Всем привет,
В настоящее время я застрял в этой проблеме: скажем, у меня создана следующая таблица:
CREATE TABLE сотрудников (данные JSON);
ВСТАВИТЬ В ЦЕННОСТИ сотрудников (данных)
('{"имя": "грег", "возраст": 25}'), ('{"имя": "Джеймс", "возраст": 30}'),
('{"имя": "Джейн", "возраст": 45}'), ('{"имя": "Алекс", "возраст": 50}'),
('{"имя": "счет", "возраст": 29}'), ('{"имя": "том", "возраст": 65}');
ОБНОВЛЕНИЕ данных SET сотрудников = JSON_INSERT(data, '$.hours', JSON_ARRAY(8,10,12,16,11));
Допустим, я хочу удалить из этого массива часов внутри типа данных JSON, где час = 8. Как я могу это сделать? Единственный известный мне способ удалить элемент из массива - это знать точную позицию.
что я бы сделал примерно так:
ОБНОВЛЕНИЕ сотрудников SET data = JSON_REPLACE(data, '$.hours', JSON_REMOVE(JSON_EXTRACT(data,'$.hours'), '$[0]'))
WHERE JSON_EXTRACT(data,'$.name') = 'greg';
Могу ли я в любом случае просто найти эту 8, не указывая позиции? Я пытаюсь изучить его. Я написал небольшую статью с заметками о том, как я могу его использовать. http://www.nowakowskig.com/blog/mysql-5-7-native-json-tutorial-nosql
В настоящее время я застрял в этой проблеме: скажем, у меня создана следующая таблица:
CREATE TABLE сотрудников (данные JSON);
ВСТАВИТЬ В ЦЕННОСТИ сотрудников (данных)
('{"имя": "грег", "возраст": 25}'), ('{"имя": "Джеймс", "возраст": 30}'),
('{"имя": "Джейн", "возраст": 45}'), ('{"имя": "Алекс", "возраст": 50}'),
('{"имя": "счет", "возраст": 29}'), ('{"имя": "том", "возраст": 65}');
ОБНОВЛЕНИЕ данных SET сотрудников = JSON_INSERT(data, '$.hours', JSON_ARRAY(8,10,12,16,11));
Допустим, я хочу удалить из этого массива часов внутри типа данных JSON, где час = 8. Как я могу это сделать? Единственный известный мне способ удалить элемент из массива - это знать точную позицию.
что я бы сделал примерно так:
ОБНОВЛЕНИЕ сотрудников SET data = JSON_REPLACE(data, '$.hours', JSON_REMOVE(JSON_EXTRACT(data,'$.hours'), '$[0]'))
WHERE JSON_EXTRACT(data,'$.name') = 'greg';
Могу ли я в любом случае просто найти эту 8, не указывая позиции? Я пытаюсь изучить его. Я написал небольшую статью с заметками о том, как я могу его использовать. http://www.nowakowskig.com/blog/mysql-5-7-native-json-tutorial-nosql