首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测行是否被INSERT或REPLACE修改?

检测行是否被INSERT或REPLACE修改?
EN

Stack Overflow用户
提问于 2017-05-22 20:02:19
回答 1查看 58关注 0票数 2

假设我们有这样一个表:

代码语言:javascript
复制
CREATE TABLE example (
animal VARCHAR NOT NULL,
color VARCHAR NOT NULL,
name VARCHAR,
UNIQUE(colA, colB))

然后我们执行如下命令:

代码语言:javascript
复制
INSERT OR REPLACE INTO example (animal, color, name)
VALUES ("animal", "cat", "mittens")

有没有一种方法可以判断整行的值是否发生了变化?例如,如果在此命令之前,表具有以下行:

代码语言:javascript
复制
animal = "cat", color = "orange", name = NULL

既然name改变了,它就会改变。

但是如果命令之前的行已经是:

代码语言:javascript
复制
animal = "cat", color = "orange", name = "mittens"

那么就不会有任何变化。

遗憾的是,在这两种情况下,changes()函数似乎都返回1。有没有什么东西可以表明某些值实际发生了变化,或者哪些列发生了变化?

EN

回答 1

Stack Overflow用户

发布于 2017-05-22 20:30:38

INSERT命令不返回任何信息,但新行的rowid除外,这在这里没有帮助。

因此,您必须执行SELECT操作才能获得旧值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44112377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档