gpt4 book ai didi

python - 无法使用 Python mysqldb 模块使 MySQL 源查询正常工作

转载 作者:可可西里 更新时间:2023-11-01 06:53:14 24 4
gpt4 key购买 nike

我有以下几行代码:

sql = "source C:\\My Dropbox\\workspace\\projects\\hosted_inv\\create_site_db.sql"
cursor.execute (sql)

当我执行我的程序时,出现以下错误:

Error 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 'source C:\My Dropbox\workspace\projects\hosted_inv\create_site_db.sql' at line 1

现在我可以将以下内容作为查询复制并粘贴到 mysql 中:

source C:\\My Dropbox\\workspace\\projects\\hosted_inv\\create_site_db.sql

而且效果很好。当我检查我的脚本执行的查询的查询日志时,它显示我的查询如下:

source C:\\My Dropbox\\workspace\\projects\\hosted_inv\\create_site_db.sql

但是,当我手动粘贴并执行时,整个 create_site_db.sql 在查询日志中展开并显示该文件中的所有 sql 查询。

我是否遗漏了一些关于 mysqldb 如何查询的信息?我遇到了限制吗?我的目标是运行一个 sql 脚本来创建模式结构,但我不想在 shell 进程中调用 mysql 来获取 sql 文件。

有什么想法吗?谢谢!

最佳答案

正如其他人所说,您不能在 MySQLdb Python API 中使用命令 source

因此,与其运行它,不如加载文件并执行它

假设您的 .sql 文件有

create database test;

阅读喜欢的内容

sql=open("test.sql").read()

然后执行

cursor.execute(sql);

你会得到新的数据库“test”

关于python - 无法使用 Python mysqldb 模块使 MySQL 源查询正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1932298/

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