简体   繁体   中英

MariaDB SQL syntax near error parenthesis ')' for python

I am trying to insert some data into my MariaDB using python script. when I do the following in console it works perfectly.

INSERT INTO `Failure` (`faillure_id`, `testrun_id`, `failed_at`, `log_path`, `node`) 
         VALUES   (2, 1, 'STEP8:RUN:RC=1', '/var/fail_logs','NodeA')

shows me a query ok. and I can see the table being populated. no problem there.

However when I do the same SQL query using python I get some error. Here's my code

conn = MySQLdb.connect("localhost","user","","DB")
cursor = conn.cursor()

cursor.execute("""INSERT INTO `Failure` (`testrun_id`, `failed_at`, `log_path`, `node`) VALUES (%s, %s, %s, %s)""",(testrun_id, failed_at, log_path, node))
conn.commit()

this yields the following error

check the manual that corresponds to your MariaDB server version for the right syntax to use near '),

Can someone please help me understand where the error is coming from.

As a work-around I'm building the query string like this

sql_query = "INSERT INTO `Failure` (`testrun_id`, `failed_at`, `log_path`, `node`) VALUES " + "( '" + str(testrun_id) + "', '" + str(failed_at) + "', '"+ log_path + "', '" + node + "')"
cursor.execute(sql_query)

not very efficient but does the job for now.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM