Mysql 从phpMyAdmin转储中删除分隔符
我正在转储我的MySql数据库。我正在使用Mysql 从phpMyAdmin转储中删除分隔符,mysql,sql,phpmyadmin,delimiter,Mysql,Sql,Phpmyadmin,Delimiter,我正在转储我的MySql数据库。我正在使用phpMyAdmin并使用导出选项卡进行转储。 问题是,对于触发器phpMyAdmin设置分隔符/,然后将其设置为默认的分隔符,但在旧版本的phpMyAdmin和其他一些情况下,它会在SQL语法中生成一个错误。有人能帮我删除phpMyAdmin中的此选项吗?也许我理解错了 Sql代码 -- -- Triggers `checklist_question` -- DROP TRIGGER IF EXISTS `checklist_question_inse
phpMyAdmin
并使用导出选项卡进行转储。
问题是,对于触发器
phpMyAdmin
设置分隔符/
,然后将其设置为默认的分隔符代码>,但在旧版本的phpMyAdmin和其他一些情况下,它会在SQL语法中生成一个错误。有人能帮我删除phpMyAdmin
中的此选项吗?也许我理解错了
Sql代码
--
-- 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 ;
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
异常代码
--
-- 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 ;
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
分隔符
不是MySQL命令。这是MySQL客户端需要支持的命令。
尝试用替换所有/
并删除分隔符
声明。您能在这里发布错误吗..我理解这一点,但这并不能解决问题。我有很多这样的触发器,当您了解TNAD时,我需要转储数据库以进行单元测试。应用程序增长很快,所以我需要经常进行这样的转储,并且从sql代码中删除分隔符不是很舒服。