Создайте хранимую процедуру Mysql через Python, используя Mysql Connector ⇐ Python
Создайте хранимую процедуру Mysql через Python, используя Mysql Connector
Я создаю небольшое приложение. где мне нужно создать хранимую процедуру MySQL через Python, используя MySQL Connector.
Я попробовал следующий код. Но получаю следующую ошибку:
"Команды не синхронизированы; вы не можете сейчас выполнить эту команду."
Я использую версию MySQL 5.7.40-43-log
Ниже приведен фрагмент кода Python, который я пробовал.
импортировать mysql.connector mydb = mysql.connector.connect(хост=ХОСТ,пользователь=ИМЯ ПОЛЬЗОВАТЕЛЯ,пароль=ПАРОЛЬ,база данных=ИМЯБД,порт=ПОРТ,allow_local_infile=True) курсор = mydb.cursor() sqlquery = """ОТКАЗАТЬ ПРОЦЕДУРУ, ЕСЛИ СУЩЕСТВУЕТ usp_myprocedure; РАЗДЕЛИТЕЛЬ // СОЗДАТЬ ПРОЦЕДУРУ usp_myprocedure() НАЧИНАТЬ УСЕЧИТЬ ТАБЛИЦУ mytable; ВСТАВИТЬ В мою таблицу ВЫБЕРИТЕ столбец 1 ,столбец2 , кол3 , кол4 ,CASE WHEN New_col='%_%' THEN логика1 ИНАЧЕ логика2 КОНЕЦ КАК mylogic ИЗ старой таблицы; ВЫБРАТЬ * ИЗ моей таблицы; КОНЕЦ // РАЗДЕЛИТЕЛЬ ; """ курсор.execute(sqlquery) mydb.commit() Приведенный выше фрагмент кода MySQL работает нормально при запуске через Mysql Workbench. Но при выполнении через соединитель mysql Python возникает ошибка Commands out sync; сейчас вы не можете запустить эту команду.
Будем признательны за любую помощь.
Я создаю небольшое приложение. где мне нужно создать хранимую процедуру MySQL через Python, используя MySQL Connector.
Я попробовал следующий код. Но получаю следующую ошибку:
"Команды не синхронизированы; вы не можете сейчас выполнить эту команду."
Я использую версию MySQL 5.7.40-43-log
Ниже приведен фрагмент кода Python, который я пробовал.
импортировать mysql.connector mydb = mysql.connector.connect(хост=ХОСТ,пользователь=ИМЯ ПОЛЬЗОВАТЕЛЯ,пароль=ПАРОЛЬ,база данных=ИМЯБД,порт=ПОРТ,allow_local_infile=True) курсор = mydb.cursor() sqlquery = """ОТКАЗАТЬ ПРОЦЕДУРУ, ЕСЛИ СУЩЕСТВУЕТ usp_myprocedure; РАЗДЕЛИТЕЛЬ // СОЗДАТЬ ПРОЦЕДУРУ usp_myprocedure() НАЧИНАТЬ УСЕЧИТЬ ТАБЛИЦУ mytable; ВСТАВИТЬ В мою таблицу ВЫБЕРИТЕ столбец 1 ,столбец2 , кол3 , кол4 ,CASE WHEN New_col='%_%' THEN логика1 ИНАЧЕ логика2 КОНЕЦ КАК mylogic ИЗ старой таблицы; ВЫБРАТЬ * ИЗ моей таблицы; КОНЕЦ // РАЗДЕЛИТЕЛЬ ; """ курсор.execute(sqlquery) mydb.commit() Приведенный выше фрагмент кода MySQL работает нормально при запуске через Mysql Workbench. Но при выполнении через соединитель mysql Python возникает ошибка Commands out sync; сейчас вы не можете запустить эту команду.
Будем признательны за любую помощь.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение