Erick Boileau
Erick Boileau

Reputation: 494

trigger insert all rows and not only one

I am trying a very simple trigger

CREATE TRIGGER trg_product_size AFTER UPDATE ON tb_product

FOR EACH ROW

    BEGIN

        insert  into test_trigger 
                    (product_id,product_size_values) 
            select product_id,product_size_values 
            from tb_product  
            where  product_id = NEW.product_id;

    END

but I get 2000 rows and not only the one updated, all the content of tb_product

thanks for helping

Upvotes: 0

Views: 103

Answers (1)

Uueerdo
Uueerdo

Reputation: 15951

If you only want to catch product_size_values changes; you can do the following:

CREATE TRIGGER trg_product_size AFTER UPDATE ON tb_product
FOR EACH ROW
BEGIN
   IF (NEW.product_size_values != OLD.product_size_values) THEN 
       INSERT INTO test_trigger (product_id, product_size_values) 
       VALUES (NEW.product_id, NEW.product_size_values)
       ;
   END IF;
END

Upvotes: 1

Related Questions