Запрос Sqlite не работает при использовании определенного столбца - PullRequest
0 голосов
/ 25 октября 2018

У меня есть таблица

  CREATE TABLE IF NOT EXISTS [products](
    [id] INTEGER PRIMARY KEY,
    [productCategoryId] INTEGER NOT NULL,
    [productMeasurementId] INTEGER NOT NULL,
    [eanCode] TEXT NOT NULL DEFAULT '',
    [reference] TEXT UNIQUE DEFAULT NULL,
    [shortDescription] TEXT NOT NULL DEFAULT '',
    [longDescription] TEXT NOT NULL DEFAULT '',
    [buyPrice] DECIMAL NOT NULL DEFAULT 0,
    [sellPrice1] DECIMAL NOT NULL DEFAULT 0,
    [sellPrice2] DECIMAL NOT NULL DEFAULT 0,
    [sellPrice3] DECIMAL NOT NULL DEFAULT 0,
    [taxPercentage] DECIMAL NOT NULL DEFAULT 0,
    [sold] INTEGER NOT NULL DEFAULT 0,
    [inStock] INTEGER NOT NULL DEFAULT 0,
    [AmountToOrder] INTEGER NOT NULL DEFAULT 0,
    [OrderWhenLessThan] INTEGER NOT NULL DEFAULT 0,
    [weigth] DECIMAL NOT NULL DEFAULT 0,
    [set] INTEGER NOT NULL DEFAULT 0,
    FOREIGN KEY(productCategoryId) REFERENCES productCategories(id),
    FOREIGN KEY(productMeasurementId) REFERENCES productMeasurements(id)

И я хочу сделать простую вставку, но любая попытка вставки, включающая столбец "set", просто терпит неудачу (sql error 1, которая является способом sqliteсообщая вам «я знаю столько же, сколько и вас об этой ошибке», говоря, что рядом с «set» есть ошибка) Запрос:

sqlQuery = "INSERT INTO [products] (productMeasurementId,shortDescription,longDescription,taxPercentage,buyPrice,sellPrice1,sellPrice2,sellPrice3,inStock,sold,OrderWhenLessThan,AmountToOrder,weigth,productCategoryId,eanCode,set,reference) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"

Все параметры верны, и если я выполняю тот же запрос без"set" (и удаление одного из? конечно), он запускается без каких-либо проблем, я передаю, чтобы установить простой 0 в качестве параметра, я тоже пытался с 1 (я хотел, чтобы set был логическим, но sqlite doestn поддерживает его, так что целое числоесть)

1 Ответ

0 голосов
/ 25 октября 2018

set является зарезервированным ключевым словом.Используйте обратные кавычки, чтобы избежать имени.

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