如何更新颤振 sqflite 中的单列?

时间:2021-04-30 09:31:46

标签: database flutter dart sqflite

这是我的专栏

await db.execute('CREATE TABLE LocalProduct('
          'id INTEGER,'
          'name TEXT,'
          'price TEXT,'
          'image TEXT,'
          'qty INTEGER,'
          'product_item_count INTEGER,'
          'last_fetched DATETIME DEFAULT CURRENT_TIMESTAMP,'
          'created_at DATETIME)');
      var _flag = storage.getItem("isFirst");

这是我的查询

final res = await db.rawUpdate('UPDATE LocalProduct SET qty = ? WHERE id = ?', [podDAta.qty,podDAta.id]);

** 这是来自 api 的数据,应该更新的数据 **

{
            "id": 2877,
            "name": "Britannia Cheese Block, 200g",
            "qty": 9,
            "created_at": "2021-04-20T11:30:08.000000Z",
            "updated_at": "2021-04-20T11:30:08.000000Z"
        },

我只想更新该 ID 的数量,但出现 2 个错误。

  1. 数据库中的数据被删除或不再存在。
  2. 它不会更新。

所以我不能只更新数量吗?

1 个答案:

答案 0 :(得分:0)

表中似乎不存在您尝试更新的 ID。确保 podData.id 存在于 LocalProduct 表中,因为看起来 UPDATE 命令没问题。

我知道这应该是评论,但我还没有足够的声誉。