【问题标题】:How insert additional values to SQLite into BLOB column?如何将 SQLite 的附加值插入 BLOB 列?
【发布时间】:2020-05-05 12:01:58
【问题描述】:

我有一个名为“vehicles”的表和 BLOB 类型的列“status”,

在列里面我有这个值:

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

能否帮助理解我如何将该列中的值替换为这一列

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

有时我需要插入新值,有时需要删除一些值, 有人可以帮我写查询吗?

谢谢

【问题讨论】:

    标签: sqlite blob


    【解决方案1】:

    这是 JSON,它是一种文本格式,因此您应该将其存储为文本,而不是 blob。这样做意味着您可以使用 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"}
    

    【讨论】:

      猜你喜欢
      • 2019-12-15
      • 2013-03-21
      • 1970-01-01
      • 2014-05-05
      • 1970-01-01
      • 1970-01-01
      • 2020-02-20
      • 2013-12-28
      相关资源
      最近更新 更多