@qwertiss

Ошибка при запросе на добавление строки в mysql?

nick = fir + ' ' + sec
null = 0
mo = 1
tnull='none'
data_insert = (peid, usid, fir, sec, nick, null, null, null, null, null, null, null, null, null, mo, mo, mo, mo, mo, mo, mo, mo, mo, mo, mo, mo, mo, null, tnull, mo, mo, mo, mo, mo, mo)
zapros_insert = "INSERT INTO users (chat_id, user_id, first_name, second_name, nick, rp_white, level, last_level, is_ban, permission, money, bitcoin, last_mining_cash, last_price_cash, mining_start, mining_server_1, mining_server_2, mining_server_3, mining_server_pro_1, mining_server_pro_2, mining_server_pro_3, mining_server_ultra_1, mining_server_ultra_2, mining_server_ultra_3, mining_datacenter_1, mining_datacenter_2, mining_datacenter_3, mining_first_kapital, message_id, case_tier_common, case_tier_uncommon, case_tier_rare, case_tier_epic, case_tier_legendary, case_tier_mythical) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
cur.execute(zapros_insert, data_insert)
con.commit()

При запуске показывает ошибку

File "Vk_bot.py", line 4479, in
main(event)
File "Vk_bot.py", line 441, in main
cur.execute(zapros_insert, data_insert)
TypeError: not all arguments converted during string formatting

В sqlite3 всё прекрасно работало, но при переходе на mysql стало жаловаться.
Как исправить?
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
@o5a
Для подстановки в mysql вместо ? используйте %s
И количество знаков подстановки должно совпадать с количеством самих элементов в data_insert.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы