Задать вопрос
qwertiss
@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 стало жаловаться.
Как исправить?
  • Вопрос задан
  • 101 просмотр
Подписаться 1 Простой 7 комментариев
Решение пользователя o5a К ответам на вопрос (1)
@o5a
Для подстановки в mysql вместо ? используйте %s
И количество знаков подстановки должно совпадать с количеством самих элементов в data_insert.
Ответ написан
Комментировать