1

I am writing a python AWS Lambda to execute a MySQL file for RDS MySQL database.

So far it looks like it is working. And I was about to test it by printing how many rows are affected or any other response messages.

Here are how my code looks like after multiple changes. I used this stackoverflow link as a reference to update my original code.

import mysql.connector

def handler():
  config = { <RDS MySQL DB username, password and others...> }
  connect = mysql.connector.connect(**config)
  cursor = connect.cursor(dictionary=True)

  file = open('script.sql')
  sql = file.read()


  for result in cursor.execute(sql, multi=True):
    if result.with_rows:
      print("Rows produced by statement '{}':".format(result.statement))
      print(result.fetchall())
    else:
      print("Number of rows affected by statement '{}':{}".format(result.statement, result.rowcount))

This code throws Failed getting warnings; Use multi=True when executing multiple statements. At first, I was not sure why it is complaining about it as I already passed multi=True to execute funtion. However, I am guessing maybe the result variable holds the multi lines result and I have to loop them to see each query result.

I have tried to iterate them with for in, next, __itra__ and others. However, none of them worked.

I also rollback and debugged a bit.

def handler():
  config = { <RDS MySQL DB username, password and others...> }
  connect = mysql.connector.connect(**config)
  cursor = connect.cursor(dictionary=True)

  with open('scripts}', 'r') as sql:
    result = cursor.execute(sql.read(), multi=True)
    print(result)

The print function returns <generator object MySQLCursor._execute_iter at ...>

So the result is generator object. I tried to turn this into list and I got this error. Failed getting warnings; Use multi=True when executing multiple statements

Can someone please help me how to resolve this issue? Thank you very much in advance.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.