【发布时间】:2020-10-02 21:34:40
【问题描述】:
我刚刚学习 SQLDelight,并希望找到如何添加一个带有 ID 的对象,如果它不存在,如果它确实存在,然后用给定的 id 更新当前对象。
目前,我正在删除带有 id 的当前对象,然后添加一个对象,并希望将其简化为一个简单的调用。
我当前的代码:
CREATE TABLE Color (
id TEXT NOT NULL,
name TEXT NOT NULL,
hex TEXT NOT NULL
);
getColorWithId:
SELECT * FROM Color
WHERE id = ?;
saveColor:
INSERT OR REPLACE INTO Color (id, name, hex)
VALUES (?, ?, ?);
deleteColorWithId:
DELETE FROM Color
WHERE id = ?;
我希望将其更改为将 saveColor 和 deleteColorWithId 替换为:
updateColorWithId:
INSERT OR REPLACE INTO Color (id, name, hex)
WHERE id = ?
VALUES (?, ?, ?);
但它不适用于此错误<insert stmt values real> expected, got 'WHERE'
谁能帮忙?我在文档中找不到任何内容。
【问题讨论】:
标签: sql sqldelight