如何正确使用INSERT OR REPLACE?

时间:2013-03-31 21:32:57

标签: sql qml

这就是我得到的:

CREATE TABLE IF NOT EXISTS Settings (sitem TEXT, ccolor TEXT, ncolor TEXT)
CREATE UNIQUE INDEX IF NOT EXISTS sindex ON Settings (sitem, ccolor, ncolor)

但是当我尝试插入一个值,然后将其替换为运行:

INSERT OR REPLACE INTO Settings (sitem) VALUES ("something")
INSERT OR REPLACE INTO Settings (sitem) VALUES ("something else")

这是我在sitem列中获得的内容:

     sitem
---------------
something
something else

它不会取代它,只要另外一个值,即使它是唯一的,任何帮助?

1 个答案:

答案 0 :(得分:0)

sitem字段是主键的一部分,因此用于标识要进行替换的行。您无法以您希望的方式更新行,因为数据库无法告诉您要将第一个记录替换为第二个记录,因此它会执行插入操作。