2017-07-16 193 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,现在试试。 –