обновление DATETIME вызывает ошибку sqlite на BB10

Я создал свою таблицу с этим запросом

CREATE TABLE SETTINGS(NAME VARCHAR(1050), VALUE VARCHAR(1550),CREATE_DATE_TIME DATETIME,UPDATE_DATE_TIME DATETIME, PRIMARY KEY(NAME))

Затем я вставил данные, как это

INSERT INTO SETTINGS(NAME, VALUE ,CREATE_DATE_TIME ,UPDATE_DATE_TIME) VALUES('CellIDKey','Android@MoblLe.NAv',DATETIME('NOW'), DATETIME('NOW'))

На данный момент все работает нормально. Теперь, если я хочу выполнить запрос на обновление, как этот,

UPDATE SETTINGS SET VALUE='Android@AfriG1s.MoblLe.NAv' CREATE_DATE_TIME=DATETIME('NOW')  WHERE NAME='CellIDKey'

Это показывает следующую ошибку на консоли

QSqlError::type= "QSqlError::ConnectionError" , QSqlError::number= -1 , databaseText= "No query" , driverText= "Unable to fetch row"

Но если я выполню этот запрос на обновление следующим образом,

UPDATE SETTINGS SET VALUE='Android@AfriG1s.MoblLe.NAv' WHERE NAME='CellIDKey'

Теперь все отлично работает. Я не знаю, что не так с оператором DATETIME (‘NOW’) в запросе на обновление.

0

Решение

Это не допустимый SQL:

UPDATE SETTINGS SET VALUE='Android@AfriG1s.MoblLe.NAv' CREATE_DATE_TIME=DATETIME('NOW')  WHERE NAME='CellIDKey'
-- ---------------------------------------------------^ Missing comma!

Отдельные назначения в SET должны быть разделены запятыми следующим образом:

UPDATE SETTINGS
SET VALUE='Android@AfriG1s.MoblLe.NAv', -- This comma is needed
CREATE_DATE_TIME=DATETIME('NOW')
WHERE NAME='CellIDKey'
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector