我需要创建一个语句,如果语句不存在,则将用户添加到我的SQLite数据库中,否则请更新其值并将1添加到其以前的totalMessages中。
到目前为止,我写了这个:SQLITE - 在INSERT上设置默认值
INSERT OR REPLACE INTO users (id, username, first, last, totalMessages) values (
'hisID',
'hisName',
'hisFirst',
'hisLast',
(SELECT totalMessages FROM users WHERE id = 'hisID') +1);
它正常工作时,该用户已经存在,但如果没有,totalMessages的值设置为NULL,我需要它为0
这是我的用户表:
CREATE TABLE IF NOT EXISTS users (
id VARCHAR(255) PRIMARY KEY,
username VARCHAR(255),
first VARCHAR(255),
last VARCHAR(255),
totalMessages INTEGER)
任何人能告诉我该怎么做,好吗?
更新:我试过使用“DEFAULT'0'”和“DEFAULT 0”作为斯科特建议,但它仍然将totalMessages保存为NULL。
你可以看到它,测试是here。
为什么这需要成为一个单一的声明? –