python - 如何从 python 在 mysql 中创建存储过程?
问题描述
我正在尝试使用 pymysql 在 mysql 数据库中创建存储过程。我有一个文件,其中包含创建存储过程的语句。我正在使用 cursor.execure(line)
. 创建存储过程的查询在数据库上运行良好。但是在 python 上,他们给出了语法错误。
DELIMITER $$
USE `ipaybridge2`$$
DROP PROCEDURE IF EXISTS `masking`$$
CREATE DEFINER=`root`@`%` PROCEDURE `masking`()
BEGIN
query statements;
END$$
DELIMITER ;
我得到的错误是:You have an error in your SQL syntax; it seems the error is around: 'DELIMITER $ $ USE `ipaybridge2` $ $ DROP PROCEDURE IF EXISTS `masking` $ $ CREAT' at line 1
解决方案
pymsysql
不想要的DELIMITER
陈述。因此,您应该已经连接到特定数据库,因此USE
不需要该语句。只需将以下内容cursor.execute
作为单独的命令传递:
DROP PROCEDURE IF EXISTS `masking`
cursor.execute
然后作为下一个命令传递给:
CREATE DEFINER=`root`@`%` PROCEDURE `masking`()
BEGIN
query statements;
END
推荐阅读
- xamarin.forms - SQLite DB 创建后存储在 Desktop 中的位置
- r - 在参考类中定义字段时的有效性测试错误
- azure - Azure 应用程序网关
- asp.net - asp.net C#中的按钮单击事件错误
- dplyr - 如何使用 NA 值为数据框中的所有列创建汇总函数
- javascript - 显示活跃用户图标——如何确定谁不再在线(寻找 NG 或 JS 解决方案)
- hibernate - 如何在 WildFly 13 中使用 Hibernate 4
- react-native - 混合玩笑期待与排毒期待
- php - 如何在循环外显示数组变量
- flutter - Flutter 在 CustomScrollView 中使用 RefreshIndicator