简体   繁体   中英

Insert ERROR - mysql connector python 2.7

I am attempting to insert some sentiment analysis results (google cloud language API) into a mysql database. I am using the mysql connector .

import mysql.connector
from google.cloud import language

cnx = mysql.connector.connect(user='blahuser', password='Blahpw',
                          host='BlahIP',
                          database='FeedbackDB')

cursor = cnx.cursor(buffered=True)
CoreSQL = ("SELECT ResID, TextResp FROM Response")
cursor.execute(CoreSQL)
client = language.Client()

for row in cursor:
    document = client.document_from_text(row[1])
    sent_analysis = document.analyze_sentiment()
    sentiment = sent_analysis.sentiment
    annotations = document.annotate_text(include_sentiment=True, include_syntax=True, include_entities=True)
    print(row[0], sentiment.score, sentiment.magnitude)
    ResID_ =row[0]
    PhraseSent_ = sentiment.score
    PhraseMag_ = sentiment.magnitude
    SQLInsertCmd = ("INSERT INTO PhraseAnalysis (ResID, PhraseSent, PhraseMag),  VALUES (%s,%s,%s)");
    cursor.execute(SQLInsertCmd, (ResID_, PhraseSent_,PhraseMag_))

cnx.commit()
cursor.close()
cnx.close()

The error I get indicates I have an issue with my INSERT statement :

python tm16.py (1, -0.4, 2.2) Traceback (most recent call last): File "tm16.py", line 27, in <module> cursor.execute(SQLInsertCmd, (ResID_, PhraseSent_,PhraseMag_)) File "/usr/lib/python2.7/dist-packages/mysql/connector/cursor.py", line 559, in execute self._handle_result(self._connection.cmd_query(stmt)) File "/usr/lib/python2.7/dist-packages/mysql/connector/connection.py", line 494, in cmd_query result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query)) File "/usr/lib/python2.7/dist-packages/mysql/connector/connection.py", line 396, in _handle_result raise errors.get_exception(packet) mysql.connector.errors.ProgrammingError: 1064 (42000): 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 ' VALUES (1,-0.4,2.2)' at line 1

There are lots of INSERT examples online, but I haven't be able to resolve. New to coding- no doubt something simple. Can someone point out where I am going wrong?

Mike

字段列表结尾之后,您将使用不必要的逗号。

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