我制作了下表:
CREATE table IF NOT EXISTS redirect (
id INTEGER PRIMARY KEY AUTOINCREMENT,
url_from TEXT not null,
url_to TEXT not null,
method TEXT not null,
http_status_code INTEGER not null CHECK( http_status_code IN (300,301,302,304,304,308,307) ) DEFAULT 301,
use_in_https INTEGER not null CHECK(use_in_https IN (0,1)) DEFAULT 0,
use_in_http INTEGER not null CHECK(use_in_http IN (0,1)) DEFAULT 1,
exact_match INTEGER not null CHECK(exact_match IN (0,1)) DEFAULT 1
);
我做了以下触发器:
CREATE TRIGGER remove_http_https BEFORE INSERT ON redirect BEGIN
SELECT CASE WHEN NEW.url_from THEN REPLACE(REPLACE(NEW.url_from,"http:\/\/",""),"https:\/\/","") END;
END;
但是我希望触发器在我更新值或插入值时同时运行。有没有办法将插入和更新定义为 sqlite3 的单个触发器?
不,不可能用一个触发器来处理插入和更新。
图上的CREATE触发器语句显示只能使用DELETE、INSERT、UPDATE其中之一。