MySQL delimiter syntax error

Patrickdev picture Patrickdev · Jan 26, 2012 · Viewed 17.2k times · Source

I'm trying to change the MySQL command delimiter so I can create a procedure with multiple commands in it. However, the delimiter command does not seem to be recognised on MySQL 5.1.47. I tested it on MySQL 5.0.91, and it did work there.

DELIMITER //;
DELIMITER ;//

I'm trying to run this from phpmyadmin, in both situations. Using 5.0.91 instead isn't an option because I need to use events (CREATE EVENT).

Error message:

#1064 - 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 'DELIMITER //' at line 1 

Is there a reason it's not working, or is there an alternative to accomplish the same thing (creating a procedure with multiple queries)?

Answer

Patrickdev picture Patrickdev · Jan 29, 2012

DELIMITER is not a MySQL command. It's a command that your MySQL client needs to support. I was running PHPMyAdmin 2.8.2.4, which didn't support it. When I upgraded to the newest version, which is currently 3.4.9, it worked just fine. Your MySQL version has nothing to do with DELIMITER and whether it's supported or not.