Как использовать команду объяснения, используя подключение Python Mysql? - PullRequest
0 голосов
/ 29 июня 2019

Метод объяснения / команда, кажется, не работает на соединении Python MySQL. Другие запросы показывают правильные результаты, но с командой объяснения ничего не показывается. Печать кода и комментарии на португальском языке. Я использую DataFrames для отображения содержимого результата запроса, чтобы показать проблему / ошибку / другое. Код выделен, потому что он только что вышел из визуальной студии. Я много гуглил и ничего не нашел.

                print("#########################################################################################")
                # ANTES DE EXECUTAR CADA UMA DAS QUERYS VEREFICAR QUAIS AS TABELAS QUE SAO UTLIZADAS EM CADA UMA
                # VERIFICAR QUE TABELAS EXISTEM PARA O PROFESSOR
                query = "EXPLAIN " + sqlqueryprof
                print("QUERY EXPLAIN DO PROFESSOR")
                print(query)
                #connection.commit()
                cursor = connection.cursor()
                cursor.execute(query)
                explain_prof = cur.fetchall()
                print("TABELA EXPLICATIVA DA QUERY DO PROFESSOR")
                data_frame_expl_prof = pandas.DataFrame(list(explain_prof))
                print(data_frame_expl_prof)

                # VERIFICAR QUE TABELAS EXISTEM PARA O ALUNO
                query = "EXPLAIN " + sqlqueryalun
                print("QUERY EXPLAIN DO ALUNO")
                print(query)
                #connection.commit()
                cursor = connection.cursor()
                cursor.execute(query)
                explain_alun = cur.fetchall()
                print("TABELA EXPLICATIVA DA QUERY DO ALUNO")
                data_frame_expl_alun = pandas.DataFrame(list(explain_alun))
                print(data_frame_expl_alun)

                print("#################################################################")
                # EXECUTAR CADA UMA DAS QUERYS
                cursor_prof = connection.cursor()
                cursor_prof.execute(sqlqueryprof)
                records_prof = cursor_prof.fetchall()

                data_frame_prof = pandas.DataFrame(list(records_prof))
                print("IMPRIMIR O DATA FRAME RESULTANTE DO PROFESSOR A CONEXAO")
                print(data_frame_prof)

                cursor_alun = connection.cursor()
                cursor_alun.execute(sqlqueryalun)
                records_query = cursor_alun.fetchall()

                data_frame_alun = pandas.DataFrame(list(records_query))
                print("IMPRIMIR O DATA FRAME RESULTANTE DO ALUNO A CONEXAO")
                print(data_frame_alun)

enter image description here

1 Ответ

0 голосов
/ 29 июня 2019

Может быть потому, что вы использовали cur.fetchall() вместо cursor.fetchall()?

[...]
cursor = connection.cursor()
cursor.execute(query)
explain_prof = cursor.fetchall()
[...]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...