Sqlite更新查询错误

时间:2015-01-21 04:07:35

标签: sqlite

我想在列的每一行中添加一些内容,但是我遇到了一些困难。行中已经有一些数据,我不想丢失这些数据,只需添加这些数据。

Table name is GroupList
Column name is Commands

在命令行中,数据由逗号分隔。

这是我的烂摊子:

UPDATE GroupList SET Commands = ',stats.highscores', WHERE Commands != ',stats.highscores'

在stats.highscores之前是必须的。我不知道它为什么不能工作。 我尝试在谷歌中查找错误代码,但我仍然遇到同样的错误。

Component returned failure code: 0x80004005 (NS_ERROR_FAILURE)
[mozIStorageConnection.createStatement]

我真的会对此提出一些帮助。对不起,如果我写了一些愚蠢的东西,我是新的sqlite。

编辑:我正在使用sqlite manager firefox addon

2 个答案:

答案 0 :(得分:1)

WHERE之前的逗号不属于。

SET Commands = ',stats.highscores', WHERE 

也许使用NOT LIKE而不是!=

UPDATE GroupList SET Commands =',stats.highscores',WHERE Commands NOT LIKE',stats.highscores'

答案 1 :(得分:1)

SET语句后面有逗号,这使得SQL无效。

您拥有的语句将更新CommandsCommands列没有值,stats.highscores的{​​{1}}列。

要创建新行,您需要使用INSERT

INSERT INTO GroupList (Commands) VALUES (',stats.highscores');

修改

要在没有当前值时更新此值,请使用

UPDATE GroupList 
  SET Commands = ',stats.highscores' 
WHERE 
  Commands IS NULL 
  OR Commands = '';