如何在有条件的情况下替换冲突(对于SQLite)?

艾莉

我下面有一个SQL创建一个表。它将在名称冲突的地方替换。

CREATE TABLE IF NOT EXISTS MYTABLE (
    ID INTEGER PRIMARY KEY AUTOINCREMENT,
    NAME TEXT NOT NULL,
    DATE INTEGER NOT NULL,
    CONSTRAINT UNIQUE_NAME UNIQUE (NAME) ON CONFLICT REPLACE
)

但是,我只想在日期较新(数字较大)时才替换,或者在日期较旧时忽略新行。如何更改上面的SQL(用于SQLite)语句以实现该目标?

CL。

不能通过表约束来执行此操作,必须使用触发器

CREATE INDEX just_some_index ON MyTable(Name);

CREATE TRIGGER MyTable_Name_insert_newer
BEFORE INSERT ON MyTable
FOR EACH ROW
WHEN (SELECT Date FROM MyTable WHERE Name = NEW.Name) <= NEW.Date
BEGIN
    DELETE FROM MyTable
    WHERE Name = NEW.Name;
END;

CREATE TRIGGER MyTable_Name_insert_older
BEFORE INSERT ON MyTable
FOR EACH ROW
WHEN (SELECT Date FROM MyTable WHERE Name = NEW.Name) > NEW.Date
BEGIN
    SELECT RAISE(IGNORE);
END;

(在SQLite中,没有结果的标量子查询仅返回NULL,因此插入新行会使两个WHEN子句均失败。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在有条件的情况下减去熊猫中的两列

来自分类Dev

如何在有条件的情况下使用ConcatMap进行多个API调用

来自分类Dev

如何在有条件的情况下导出到CSV?

来自分类Dev

如何在有条件的情况下将变量传递给awk命令?

来自分类Dev

如何在有条件的情况下删除SQL Server中的重复行?

来自分类Dev

在有条件的情况下禁用悬停

来自分类Dev

如何在有条件的情况下使用RemoveAll删除列表中的多个项目?

来自分类Dev

如何在有条件的情况下将指针强制转换为基本类型的指针

来自分类Dev

如何在有条件的情况下让表格单元执行两种不同的筛选?

来自分类Dev

如何在有条件的情况下将一个spark dataframe列分为两列

来自分类Dev

如何在有条件的情况下让表格单元执行两种不同的筛选?

来自分类Dev

如何在有条件的情况下执行“ mv”命令-将具有某些结尾的文件移动到其他文件夹

来自分类Dev

如何在有条件的情况下进行编程,一种方法何时变得比另一种更好

来自分类Dev

如何将rails slug url映射到id以在有条件的情况下使用

来自分类Dev

是否可以在有条件的情况下使用救援?

来自分类Dev

熊猫:在有条件的情况下查找最大值

来自分类Dev

在有条件的情况下获得一份记录

来自分类Dev

熊猫在有条件的情况下将数组列转换为多列

来自分类Dev

MongoDB $ lookup或$ graphLookup递归聚合,并在有条件的情况下停止查找

来自分类Dev

Python Pandas:自连接,用于在有条件的情况下运行累计总数

来自分类Dev

MySQL在有条件的情况下连接两列

来自分类Dev

Rails仅在有条件的情况下验证唯一性

来自分类Dev

仅在有条件的情况下运行crontab

来自分类Dev

R:在有条件的情况下将数据从行添加到列

来自分类Dev

在有条件的情况下,在标签的顶部添加标签。

来自分类Dev

RegEx仅在有条件的情况下更换

来自分类Dev

在有条件的情况下退出 Jess 中的规则执行

来自分类Dev

Codeigniter中如何在没有条件的情况下选择联接多个表?

来自分类Dev

如何在没有条件格式的情况下复制/粘贴?

Related 相关文章

  1. 1

    如何在有条件的情况下减去熊猫中的两列

  2. 2

    如何在有条件的情况下使用ConcatMap进行多个API调用

  3. 3

    如何在有条件的情况下导出到CSV?

  4. 4

    如何在有条件的情况下将变量传递给awk命令?

  5. 5

    如何在有条件的情况下删除SQL Server中的重复行?

  6. 6

    在有条件的情况下禁用悬停

  7. 7

    如何在有条件的情况下使用RemoveAll删除列表中的多个项目?

  8. 8

    如何在有条件的情况下将指针强制转换为基本类型的指针

  9. 9

    如何在有条件的情况下让表格单元执行两种不同的筛选?

  10. 10

    如何在有条件的情况下将一个spark dataframe列分为两列

  11. 11

    如何在有条件的情况下让表格单元执行两种不同的筛选?

  12. 12

    如何在有条件的情况下执行“ mv”命令-将具有某些结尾的文件移动到其他文件夹

  13. 13

    如何在有条件的情况下进行编程,一种方法何时变得比另一种更好

  14. 14

    如何将rails slug url映射到id以在有条件的情况下使用

  15. 15

    是否可以在有条件的情况下使用救援?

  16. 16

    熊猫:在有条件的情况下查找最大值

  17. 17

    在有条件的情况下获得一份记录

  18. 18

    熊猫在有条件的情况下将数组列转换为多列

  19. 19

    MongoDB $ lookup或$ graphLookup递归聚合,并在有条件的情况下停止查找

  20. 20

    Python Pandas:自连接,用于在有条件的情况下运行累计总数

  21. 21

    MySQL在有条件的情况下连接两列

  22. 22

    Rails仅在有条件的情况下验证唯一性

  23. 23

    仅在有条件的情况下运行crontab

  24. 24

    R:在有条件的情况下将数据从行添加到列

  25. 25

    在有条件的情况下,在标签的顶部添加标签。

  26. 26

    RegEx仅在有条件的情况下更换

  27. 27

    在有条件的情况下退出 Jess 中的规则执行

  28. 28

    Codeigniter中如何在没有条件的情况下选择联接多个表?

  29. 29

    如何在没有条件格式的情况下复制/粘贴?

热门标签

归档