我正在尝试创建一个多脚本工具,该工具将使用.sql文件的参数并执行它.
我已经建立了一个简单的测试,只在一个数据库上执行,但是语法每次都会给我带来麻烦.
DELIMITER $$
CREATE DEFINER=`a_user`@`%` PROCEDURE `a_procedure`(
IN DirectEmployeeID TEXT,
IN StartRange DATE,
IN EndRange DATE
)
BEGIN
SELECT aColumn
WHERE thisThing = 1;
END$$
DELIMITER ;
需要明确的是,该脚本已经过测试,可以通过以下方式工作:
mysql -uuser -p -hhost -Pport databaseName < file.sql
并且也可以通过mysql工作台工作.
我在另一个网站上看到了这种解决方案:
with conn.cursor() as cursor:
f = sys.argv[1]
file = open(f, "r")
sql = " ".join(file.readlines())
cursor.execute(sql)
这给了我一个MySQL语法错误:
pymysql.err.ProgrammingError: (1064, u"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 "DEL