On 15 Sep 2006 01:50:39 -0700, jonas@delfs.dk wrote:
>CREATE TRIGGER add_payment_expiration BEFORE INSERT ON orders_products
>FOR EACH ROW
> BEGIN
> INSERT INTO users (customer_id,payment_expiration) VALUES (1,
>'2006-02-02 11:11:11');
> END
Sætter du dem fra kommandolinjen eller fra et andet sted? Det kan
tænkes, at din klient opdeler udsagnet efter semikolonnet.
http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html
nævner fx:
DELIMITER |
CREATE TRIGGER testref BEFORE INSERT ON test1
FOR EACH ROW BEGIN
INSERT INTO test2 SET a2 = NEW.a1;
DELETE FROM test3 WHERE a3 = NEW.a1;
UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
END;
|
Bemærk hvordan de sætter en alternativ delimiter før udsagnet. Om man
kan lave samme udsagn i fx phpmyadmin ved jeg ikke, men fra
kommandolinjen virker det fint.
--
- Peter Brodersen
Hvis ens primære argumentationsform er "Definér (udsagn)!", så
bør man overveje, om man reelt bidrager med noget til nettet