2010-10-20 92 views
0

我写了这个SQLite的说法,我在下面的行越来越语法错误:这个SQLite3语句有什么问题?

update List SET number = (CASE WHEN number>=3 then number++ WHEN number=1 then 3 ELSE number END) WHERE listKey=3; 

的错误是:

SQL error: near "WHEN": syntax error

我尝试过各种版本,在地方加括号和所有的,但无法弄清楚错误。任何人都可以帮助我吗?

回答

4

如果SQLite使用“++”语法,我从来没有见过它。改为尝试then number + 1

+0

非常感谢。有效。其实我试图写下如下查询:if(number> = 3 && nextNumberinlist = number + 1)then number ++ else number。你能给我一些想法如何做到这一点。 – user333422 2010-10-20 14:53:37

+0

什么是“nextNumberInList”?它是表中“下一个”行的数字吗?什么是“下一个”行(SQL没有任何默认行顺序的概念)。我建议你在一个单独的问题中发布你的问题的完整版本(包括表格结构,样本输入数据和样本期望输出)。 – 2010-10-20 15:01:14