#python #mysql #try-catch
#python #mysql #попробуйте-поймайте
Вопрос:
У меня есть скрипт, который работает с CSV-файлом и выводит его в базу данных mysql. Все работает хорошо, но с новым файлом я получаю странную ошибку, которая не отслеживается последовательностью попыток / ошибок, которая приведена чуть ниже —
try:
rtn = csr.execute (strg)
db.commit()
print "Successfully processed record " str(row_index) " with entryno="
entryno
except mdb.Warning, e:
print "Warning %d %s " % (e.args[0] , e.args[1])
print "Successfully processed record " str(row_index)
except mdb.Error , e:
print "Error %d %s " % (e.args[0] , e.args[1])
print "Failed to process record " str(row_index)
# sys.exit() (or what you want to do if an error occurs)
в syserr я получаю следующее смешанное сообщение между моим sysout —
Successfully processed record 3220 witload-pur2.py:135: Warning: Data truncated for column 'price' at row 1
rtn = csr.execute (strg)
h entryno=579848
Я думал, что это ошибка в записи (хотя я не смог найти ее в записи или окружающих ее). Как мне поймать это и исправить??
Ответ №1:
Это предупреждение означает, что price
столбцу присвоен тип данных, который недостаточно велик для значения, которое вы пытаетесь сохранить. Как объявлен price
столбец?