Как вставить дополнительные значения в SQLite в столбец BLOB? - PullRequest
0 голосов
/ 19 января 2020

У меня есть таблица с именем «транспортные средства» и столбцом «статус» с типом BLOB,

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

{"status": "available", "condition": "new"}

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

{"status": "available", "condition": "new", "color": 'red'}

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

Спасибо

1 Ответ

2 голосов
/ 19 января 2020

Это JSON, который является текстовым форматом, поэтому вы должны хранить его как текст, а не как капли. Это означает, что вы можете использовать функции расширения sqlite JSON1 , чтобы упростить управление значениями.

Примеры:

sqlite> CREATE TABLE vehicles(id INTEGER PRIMARY KEY, status);
sqlite> INSERT INTO vehicles(status) VALUES ('{"status": "available", "condition": "new"}');
sqlite> UPDATE vehicles SET status = json_insert(status, '$.color', 'red') WHERE id = 1;
sqlite> SELECT * FROM vehicles;
id          status                                                
----------  ------------------------------------------------------
1           {"status":"available","condition":"new","color":"red"}
sqlite> UPDATE vehicles SET status = json_remove(status, '$.condition') WHERE id = 1;
sqlite> SELECT * FROM vehicles;
id          status                              
----------  ------------------------------------
1           {"status":"available","color":"red"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...