Обновление SQLite устанавливает значение столбца вместо заданного значения.Как это исправить? - PullRequest
1 голос
/ 29 мая 2019

Я пытаюсь обновить некоторые значения в таблице sqlite.В запросе на обновление, если в некоторых полях есть имя столбца таблицы, значение заканчивается значением данного столбца, а не заданным значением.

Я пытался найти ответ на другой вопрос, но не нашел ни одного.Я не знаю, ошибаюсь ли я здесь, или есть ограничение sqlite.

Моя таблица выглядит следующим образом:

CREATE TABLE product (
    id INTEGER PRIMARY KEY,
    name TEXT,
    barcode TEXT,
    sku TEXT
)

Допустим, я добавляю пример продукта сследующий запрос:

INSERT INTO product (id, name, barcode, sku) VALUES (1, "Product Example", "2095063206626", "SKU912132151")

Всякий раз, когда я пытаюсь обновить его с помощью запроса, который включает значение, которое ссылается на имя столбца, например:

UPDATE product SET name = "Product edited", barcode = "ID", sku = "BARCODE" WHERE id = 1

Устанавливает значение как текущее значение столбца для данной строки, и я получаю этот объект в базе данных:

{
    "id" = 1
    "name" = "Product edited"
    "barcode" = 1
    "sku" = "2095063206626"
}

И я на самом деле ожидаю этого:

{
    "id" = 1
    "name" = "Product edited"
    "barcode" = "ID"
    "sku" = "BARCODE"
}

Есть идеи?

1 Ответ

0 голосов
/ 29 мая 2019

Проблема была вызвана использованием двойных кавычек для строк в запросе.Двойные кавычки используются для идентификаторов в sqlite, как указано @ Shawn.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...