在插入sqlite触发器以检查表或更新的冗余

时间:2018-10-09 01:28:53

标签: sqlite triggers upsert redundancy

在将记录插入表之前或之后,我正在研究触发器,以检查表上是否存在名称,而不是更新日期。 我知道在sqlite 3.24中使用Insert into on Conflict Do Something可以工作,我试图用它来触发,但是我对触发缺乏理解

CREATE TRIGGER redun_check BEFORE INSERT on address
BEGIN
INSERT INTO address (address_name, lat, lng, `date`) VALUES (new.address_name, 
new.lat, new.lng, new.`date`) on CONFLICT (address_name) do UPDATE SET `date` = 
excluded.date;
END

如果地址名称已存在,请更新日期,而不要插入 还是有其他方法来减少冗余记录,并且在插入时而不是在表上进行更新。

CREATE TABLE "address" (
"address_id"    INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"address_name"  TEXT UNIQUE,
"lat"   BLOB NOT NULL,
"lng"   BLOB NOT NULL,
"date"  NUMERIC
)

这是我的桌子。我真的需要帮助,谢谢

0 个答案:

没有答案