0

我用这个查询创建了我的表

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') 语句有什么问题。

4

1 回答 1

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'
于 2013-06-28T04:43:04.773 回答