簡體   English   中英

如何從python在mysql中創建存儲過程?

[英]How can i create Stored procedure in mysql from python?

我正在嘗試使用 pymysql 在 mysql 數據庫中創建一個存儲過程。 我有一個文件,其中包含創建存儲過程的語句。 我正在使用cursor.execure(line)逐行運行 mysql 查詢。 創建存儲過程的查詢在數據庫上運行良好。 但是在 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 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

請參閱嘗試創建存儲過程時出錯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM