【问题标题】:how to export and import stored procedures from phpmyadmin如何从 phpmyadmin 导出和导入存储过程
【发布时间】:2015-06-07 13:08:24
【问题描述】:

你们能帮我解决存储过程的问题吗?当我从 phpmyadmin 导出存储过程时,它给出了

CREATE DEFINER=`root`@`localhost` PROCEDURE `c4mo_get_cities_prc`(IN `p_state_code` VARCHAR(3), IN `p_country_code` VARCHAR(3), IN `p_language_code` VARCHAR(3))
    NO SQL
BEGIN

SELECT city_name, city_code
FROM `c4mo_cities` 
WHERE enabled = 'Y' 
AND language_code = p_language_code
AND state_code = p_state_code
AND country_code = p_country_code;

END

当我从 phpmyadmin 导入它时,它给出了错误

#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 '' at line 13 

【问题讨论】:

  • 你设置DELIMITER了吗?
  • 您使用的是什么 phpMyAdmin 版本以及如何生成导出?如果我转到“例程”选项卡并按“导出”,这不是生成的代码;你做的和我不一样吗?

标签: php stored-procedures import phpmyadmin export


【解决方案1】:

去掉DEFINER=root@localhost

在本地导入时,

它将执行。

【讨论】:

    【解决方案2】:

    如果你使用phpmyadmin界面就很简单了。

    出口

    您将看到一个例程选项卡,因为此选项卡仅在您已经拥有至少一个存储过程时才会显示。

    只需点击常规选项卡,您将看到您制作的存储过程(对于 db,您已制作)。

    在下面,勾选 check all on check Box 然后 export ,您只需复制整个代码并将其保存到本地计算机上的任何位置 your_stored_procedure.sql 文件。

    进口:

    如上所述,只需选择数据库并导入您的存储过程your_stored_procedure.sql 文件,因为您通常会为您的数据库导入 .sql 文件(表)。

    【讨论】:

      【解决方案3】:

      将导出的存储过程复制到文件,例如myprocedure.sql。 现在使用以下内容修改该 .sql 文件: 1)删除DEFINER=root@localhost 2)在存储过程的开头添加分隔符定义。 最后重置分隔符。

      例如

      `DELIMITER $$
      `CREATE  PROCEDURE `c4mo_get_cities_prc`(IN `p_state_code` VARCHAR(3), IN 
      `p_country_code` VARCHAR(3), IN `p_language_code` VARCHAR(3))
      NO SQL
      BEGIN
      
      SELECT city_name, city_code
      FROM `c4mo_cities` 
      WHERE enabled = 'Y' 
      AND language_code = p_language_code
      AND state_code = p_state_code
      AND country_code = p_country_code;
      
      END $$
      DELIMITER ;
      

      在导入存储过程之后,就像您通过选择 .sql 文件导入的任何其他数据库一样。

      谢谢

      【讨论】:

        猜你喜欢
        • 2012-07-13
        • 2020-10-30
        • 1970-01-01
        • 2016-12-04
        • 2012-12-12
        • 2012-12-05
        • 2018-02-05
        • 1970-01-01
        • 2020-04-23
        相关资源
        最近更新 更多