我有一张这样的表:
uid -> primary key
dbid -> other key
data1 -> ...
data2 -> ...
现在当我输入数据并且dbid已经存在时,它应该只更新data1和data2。
我试过这样:
sqlstring = "INSERT OR REPLACE INTO tablename (dbid, data1, data2)
VALUES(?,?,?)";
如果uid相同,它只会更新。如果dbid已经存在,我该怎么做才能更新?
THX
答案 0 :(得分:1)
INSERT OR REPLACE
插入除非违反唯一性约束,在这种情况下它会更新行。
由于您希望dbid成为唯一项,因此只需为该字段添加唯一索引,即可获得您正在描述的行为。