Bug #16566 create trigger example problem
Submitted: 17 Jan 2006 16:09 Modified: 20 Jan 2006 11:12
Reporter: pan pan Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.0.18 OS:Windows (windows)
Assigned to: CPU Architecture:Any

[17 Jan 2006 16:09] pan pan
Description:
mysql> CREATE TABLE account (acct_num INT, amount DECIMAL(10,2));
Query OK, 0 rows affected (0.02 sec)

mysql> CREATE TRIGGER ins_sum BEFORE INSERT ON account
    -> FOR EACH ROW SET @sum = @sum + NEW.amount;
ERROR 1064 (00000): You have an error in your SQL syntax.  Check the manual that
 corresponds to your MySQL server version for the right syntax to use near 'TRIG
GER ins_sum BEFORE INSERT ON account
FOR EACH ROW SET @sum

How to repeat:
CREATE TABLE test1(a1 INT);
CREATE TABLE test2(a2 INT);
CREATE TABLE test3(a3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
CREATE TABLE test4(
  a4 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
  b4 INT DEFAULT 0
);

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
|
ERROR 1064 (00000): You have an error in your SQL syntax.  Check the manual that
 corresponds to your MySQL server version for the right syntax to use near 'TRIG
GER testref BEFORE INSERT ON test1
  FOR EACH ROW BEGIN

DELIMITER ;
[20 Jan 2006 6:05] pan pan
my fault i had an old version of mysql installed.
please remove this bug.
[20 Jan 2006 11:12] Valeriy Kravchuk
Closed per reporter request.