gpt4 book ai didi

python - 当相同的命令在命令行上运行时,使用 Python 脚本导入 MySQL 数据库会失败,这是怎么回事?

转载 作者:行者123 更新时间:2023-11-29 21:16:21 24 4
gpt4 key购买 nike

我正在 docker 容器中运行 MySQL 服务器,并尝试在 Python 脚本(Flask 应用程序)中导入 .sql 文件。这是我的代码:

os.system("docker exec -i %s_db_1 mysql -u<username> -p<password> <db name> < %s" % (name, db_file))

它在运行 Flask 应用程序的终端中返回此错误:

ERROR 1064 (42000) at line 1835: 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 1

如果我从命令行运行此命令,它就会起作用。我真的无法弄清楚在这种情况下使用 os.system 有何不同。我也尝试过 subprocess.call 并且它产生相同的错误。

最佳答案

您的 MySQL 请求格式不正确,您确定它可以在命令行上运行吗?

你应该尝试:

os.system("docker exec -i {0}_db_1 mysql -u {1} -p {2} {3}".format(db_file, username, password, db_name))

关于python - 当相同的命令在命令行上运行时,使用 Python 脚本导入 MySQL 数据库会失败,这是怎么回事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35912381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com