首页 > 解决方案 > 如何更新颤振 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. 它不更新。

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

标签: databaseflutterdartsqflite

解决方案


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

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


推荐阅读