假设我们有这样一个表:
CREATE TABLE example (
animal VARCHAR NOT NULL,
color VARCHAR NOT NULL,
name VARCHAR,
UNIQUE(colA, colB))然后我们执行如下命令:
INSERT OR REPLACE INTO example (animal, color, name)
VALUES ("animal", "cat", "mittens")有没有一种方法可以判断整行的值是否发生了变化?例如,如果在此命令之前,表具有以下行:
animal = "cat", color = "orange", name = NULL既然name改变了,它就会改变。
但是如果命令之前的行已经是:
animal = "cat", color = "orange", name = "mittens"那么就不会有任何变化。
遗憾的是,在这两种情况下,changes()函数似乎都返回1。有没有什么东西可以表明某些值实际发生了变化,或者哪些列发生了变化?
发布于 2017-05-22 20:30:38
INSERT命令不返回任何信息,但新行的rowid除外,这在这里没有帮助。
因此,您必须执行SELECT操作才能获得旧值。
https://stackoverflow.com/questions/44112377
复制相似问题