Can't get MySQL source query to work using Python mysqldb module

Posted by Chris on Stack Overflow See other posts from Stack Overflow or by Chris
Published on 2009-12-19T07:52:15Z Indexed on 2010/04/05 6:13 UTC
Read the original article Hit count: 450

Filed under:
|
|
|

I have the following lines of code:

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

When I execute my program, I get the following error:

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

Now I can copy and past the following into mysql as a query:

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

And it works perfect. When I check the query log for the query executed by my script, it shows that my query was the following:

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

However, when I manually paste it in and execute, the entire create_site_db.sql gets expanded in the query log and it shows all the sql queries in that file.

Am I missing something here on how mysqldb does queries? Am I running into a limitation. My goal is to run a sql script to create the schema structure, but I don't want to have to call mysql in a shell process to source the sql file.

Any thoughts? Thanks!

© Stack Overflow or respective owner

Related posts about python

Related posts about mysql