Skip to content Skip to sidebar Skip to footer

Mysql Delimiter Syntax Errors

This MySQL script installs multiple triggers. It works on one machine running MySQL 5.0.51b-community. On another machine running MySQL 14.12 Distrib 5.0.45, for redhat-linux-gnu

Solution 1:

Try

DELIMITER ;

not

DELIMITER;

You're actually specifying ; as an argument to the DELIMITER command, so not having the space there may be confusing it.

Solution 2:

You need a space between 'DELIMITER' and ';'

DELIMITER ;
# not:
DELIMITER;

Solution 3:

Just as an add-on, for someone else:

The delimiter is required to enable the entire definition to be passed to the server as a single statement.

Solution 4:

Try the below.

I am sure it should solve the purpose.

DELIMITER +
CREATE TRIGGER STUDENT_INSERT_TRIGGER BEFORE INSERT ON FSL_CONNECTIONS 
FOREACH ROW BEGIN 
INSERT INTO STUDENT_AUDIT 
SET STUDENT_ID = NEW.STUDENT_ID, 
MAC_ADDRESS = NEW.MAC_ADDRESS,
IPADDRESS = NEW.IPADDRESS, 
EMAIL_ID = NEW.EMAIL_ID , 
START_TIME=NEW.START_TIME, 
END_TIME=NEW.END_TIME, 
STATUS=NEW.STATUS; 
END; +

From the above when we use a DELIMITER. It should be in the form of

DELIMITER +
--BLOCK OF SQL WHATEVER YOU WANT TO MENTION
--+

Solution 5:

In the version of MySql I use the same error occurs when using the delimiter command, but this version handles the delimiter ";" for statements and delimiter "|" for stored procedures and functions, which i think solves the problem; try this:

DROP TRIGGER IF EXISTS trigger_name;

CREATE TRIGGER trigger_name BEFORE UPDATE ON table FOR EACH ROW BEGIN -- Trigger logic goes here END |

-- other statements or functions here

Post a Comment for "Mysql Delimiter Syntax Errors"