我有一列 start_week 和另一列 end_week。我做了一個觸發器,在 7 天內設定 start_week 設定 end_week,但它不能正常作業。
這是我的代碼:
CREATE TRIGGER T_fin_semana UPDATE of fin_semana on fb_clients
BEGIN
UPDATE fb_clients SET fin_semana = 'select date('now',' 6 day'), WHERE nombre=old.nombre;
END;
錯誤:
Execution finished with errors.
Result: near "select": syntax error
At line 1:
CREATE TRIGGER T_fin_semana UPDATE of fin_semana on fb_clients
BEGIN
UPDATE fb_clients SET fin_semana = select
uj5u.com熱心網友回復:
我相信你想要:-
CREATE TRIGGER T_fin_semana AFTER UPDATE OF fin_semana ON fb_clients
BEGIN
UPDATE fb_clients SET fin_semana = date('now',' 6 day') WHERE nombre=old.nombre;
END;
那就是你需要
- 指定以下之一:-
BEFOREAFTERINSTEAD OF
在觸發操作(UPDATE INSERT 或 DELETE)之前,以及
- 更正 UPDATE 中的語法錯誤,如上所示。
- 您可以使用
(SELECT date('now',' 6 day'))但不需要 SELECT 因為運算式本身就很好。
測驗使用:-
/* Test */
INSERT INTO fb_clients (fin_semana) VALUES('not set');
UPDATE fb_clients SET fin_semana = 'updated';
SELECT * FROM fb_clients;
結果是:-

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/360083.html
