我用这个查询创建了我的表
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 :(得分:1)
这不是有效的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'