我的表是:
CREATE TABLE IF NOT EXISTS BrowseHistory (
id INTEGER NOT NULL,
tid INTEGER NOT NULL PRIMARY KEY,
data BLOB NOT NULL)
我想要做的是提供tid和数据,我想找到是否没有记录的tid ==给定tid,然后插入它(id是max(id)+ 1)。如果有,请检查id是否等于max(id),如果没有将id设置为max(id)+1。 我使用了以下sql,它可以工作,但它总是设置id等于max(id)+ 1
INSERT OR REPLACE INTO BrowseHistory (id, tid, data) values ((SELECT IFNULL(MAX(id),0) FROM BrowseHistory) + 1, ?, ?)
答案 0 :(得分:0)
这在SQLite本身是不可能的。
使用您的实际编程语言执行此操作:
cursor.execute("UPDATE ...")
if cursor.rowcount == 0:
cursor.execute("INSERT ...")