Вызов mysql процедуры в python с параметром и получение ошибок - PullRequest
0 голосов
/ 16 февраля 2020

Я использую py mysql для подключения к БД. Вот как я вызываю процедуру.

cur.execute ("call delete_shop_tables (?,?,?,?,?)", Args)

Процедура ожидает 5 строковых переменных.

args имеет пять строковых переменных в массиве (args = ["one", "two", "three", "four", "five"])

Я получаю следующие ошибки при выполнении вышеуказанной строки.

Ошибка типа: не все аргументы, преобразованные во время форматирования строки

Чего мне не хватает?

Ответы [ 3 ]

0 голосов
/ 16 февраля 2020

Это дБ, которые мы недавно унаследовали. Как только я сопоставил столбцы в предложении WHERE, чтобы они соответствовали тому, что содержится в определении столбца, все это заработало.

0 голосов
/ 24 февраля 2020

Я верю в py mysql аргумент-заполнитель %s, а не ?. Попробуйте это

cur.execute("call delete_shop_tables(%s,%s,%s,%s,%s)", args)
0 голосов
/ 16 февраля 2020

try call delete_shop_tables(args)

Это правильный способ вызова процедур.

...