在将记录插入表之前或之后,我正在研究触发器,以检查表上是否存在名称,而不是更新日期。 我知道在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
)
这是我的桌子。我真的需要帮助,谢谢