我尝试过INSERT OR REPLACE INTO,但当它替换记录以更新它时,它不会保留行id。另一种选择是分两步完成:先INSERT OR IGNORE INTO,然后UPDATE,但我更喜欢一步解决方案。所以我想知道SQLite是否有类似MERGE关键字的东西或其他简单的解决方案?
发布于 2010-07-04 01:01:58
不,SQLite不支持MERGE或upsert。
您可以使用两步解决方案,但您真正想要的可能是让ROWID成为表中的一流列。如果将列声明为INTEGER PRIMARY KEY,则它将是ROWID的别名。那么INSERT OR REPLACE就会工作得很好。
https://stackoverflow.com/questions/3171003
复制相似问题