Reputation: 1993
I'm making a dump of my MySql database. I'm using phpMyAdmin
and making dump using Export tab.
The problem is that for TRIGGERS
phpMyAdmin
set DELIMITER //
and then set it to default DELIMITER ;
, but it generate an error in SQL syntax
on older versions of phpMyAdmin and in some other cases. Can somebody help me to remove this option in phpMyAdmin
? Maybe I understand something wrong?
Sql Code
--
-- Triggers `checklist_question`
--
DROP TRIGGER IF EXISTS `checklist_question_insert`;
DELIMITER //
CREATE TRIGGER `checklist_question_insert` BEFORE INSERT ON `checklist_question`
FOR EACH ROW SET NEW.www_or_app = IF(@APPLICATION IS NULL, 'www', 'app')
//
DELIMITER ;
DROP TRIGGER IF EXISTS `checklist_question_update`;
DELIMITER //
CREATE TRIGGER `checklist_question_update` BEFORE UPDATE ON `checklist_question`
FOR EACH ROW SET NEW.www_or_app = IF(@APPLICATION IS NULL, 'www', 'app')
//
DELIMITER ;
Exception code
Codeception PHP Testing Framework v1.8.2
Powered by PHPUnit 3.7.28 by Sebastian Bergmann.
←[37;41m
←[0m
←[37;41m [Codeception\Exception\Module]
←[0m
←[37;41m (Exception in Db) SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual
that ←[0m
←[37;41m corresponds to your MySQL server version for the right syntax to use near 'DELIMITER //
←[0m
←[37;41m CREATE TRIGGER `checklist_question_insert` BEFORE INSERT ON `checkl' at line 1
←[0m
←[37;41m SQL query being executed:
←[0m
←[37;41m DELIMITER //
←[0m
←[37;41m CREATE TRIGGER `checklist_question_insert` BEFORE INSERT ON `checklist_question`
←[0m
←[37;41m FOR EACH ROW SET NEW.www_or_app = IF(@APPLICATION IS NULL, 'www', 'app')
←[0m
←[37;41m //
←[0m
←[37;41m DROP TRIGGER IF EXISTS `checklist_question_update`
←[0m
←[37;41m
←[0m
Upvotes: 1
Views: 1605
Reputation: 1019
DELIMITER
is not a MySQL command. It's a command that your MySQL client needs to support.
Try to replace all //
with ;
and remove DELIMITER
declarations.
Upvotes: 1