2017-07-16 188 views
0

我想表中填充當我填充表cart_utilizador和表CURDATE();場上DATAS來填充。我如何使用觸發器來實現這一點?如何在填充另一個表時填充表格?

數據庫圖表: Database diagram

我想這一點,但ON給了我一個錯誤說 「意外ON」:

CREATE TRIGGER cart_trigger 
    ON cart_utilizador AFTER UPDATE 
    AS 
    INSERT INTO cart (id, datas) 
     SELECT id_cart, CURDATE() 
     FROM cart_utilizador; 
+0

哪個sql數據庫? – maSTAShuFu

+0

Mysql @maSTAShuFu – fabimetabi

+1

使用觸發器實現相同。 –

回答

0

您可以使用觸發器。觸發應該火起來時,將數據插入到cart_utilizador,你可以試試這個:

DELIMITER | 
CREATE TRIGGER before_insert_cart BEFORE INSERT 
ON cart FOR EACH ROW 
BEGIN 
    INSERT INTO cart_utilizador(datas) values(now()); 
END | 
DELIMITER ; 

您的用戶可能需要超級權限才能創建觸發器。 Permissions for creating a trigger in mysql

希望它有幫助。

+0

這不完全是我想要的@WaLinke。觀看我現在嘗試的代碼。 – fabimetabi

+0

您需要使用一個變量來獲取數據。 – WaLinke

0

只需在ON條款之前移動After Update子句即可。類似這樣的 -

CREATE TRIGGER cart_trigger AFTER UPDATE 
ON cart_utilizador FOR EACH ROW 
BEGIN 
    INSERT INTO cart (id, datas) 
    SELECT id_cart, CURDATE() 
    FROM cart_utilizador; 
END 
+0

現在它說:_AS_在這個位置不是有效的輸入。 @AnkitBajpai – fabimetabi

+0

@fabimetabi,現在試試。 –