如何在SQLite中插入或更新时检查表中的两个字段

时间:2014-09-06 22:21:16

标签: sqlite

如何在SQLite中插入或更新时检查表中的两个字段

TableName = SUBJECT

Fields = SRNO,SEM,SUBID,SUBNAME,LEC,LAB

SRNO是主键

如果表中存在相同的SEM和SUBID,则查询应仅使用较新的SUBNAME,LEC,LAB字段值替换旧值。

1 个答案:

答案 0 :(得分:0)

如果SEM / SUBID是候选键,您应该让数据库使用唯一约束/索引来检查它。

如果有唯一约束,则可以使用INSERT OR REPLACE语句,如果插入会导致约束违规,则会替换该行:

INSERT OR REPLACE INTO Subject(SRNO, SEM, SUBID, SUBNAME, LEC, LAB) VALUES(...)

请注意,REPLACE不会更新该行,只是删除旧行,然后插入带有新值的新行。 如果您想要保留一些旧值的列,则必须手动编写INSERT / UPDATE代码。