Python mysql.connector.errors.DataError:1406(22001):数据对于列来说太长
我在MySQL数据库中存储由Reportlab库生成的PDF文件时遇到问题。这是我的密码:Python mysql.connector.errors.DataError:1406(22001):数据对于列来说太长,python,mysql,pdf,blob,Python,Mysql,Pdf,Blob,我在MySQL数据库中存储由Reportlab库生成的PDF文件时遇到问题。这是我的密码: def insertIntoDb(pdfFullPath,name,surname,gravity): print('PRIMA DEL MYSQL') print('pdf full path'+pdfFullPath) mydb = mysql.connector.connect(host="localhost", user="root", pass
def insertIntoDb(pdfFullPath,name,surname,gravity):
print('PRIMA DEL MYSQL')
print('pdf full path'+pdfFullPath)
mydb = mysql.connector.connect(host="localhost", user="root", passwd="", database="deepface")
with open(pdfFullPath,'rb') as pdfvar:
blob = pdfvar.read()
print(blob)
sqlQuery = "INSERT INTO diagnosi(name,surname,pdf,gravity) VALUES (%s,%s,%s,%s)"
mycursor = mydb.cursor()
val = (name,surname,blob,gravity,)
mycursor.execute(sqlQuery,val)
mydb.commit()
mycursor.close()
mydb.close()
控制台显示:
mysql.connector.errors.DataError:1406(22001):第1行“pdf”列的数据太长
我已经在mysql配置文件中设置了max allowed packet,但问题是当我尝试打印(我知道我不能)PDF时,我得到了以下结果:
^\\7:[,1qq,N_Sd$dm-:XU2/Pga=O1f/`hY7X1nrca.:\u\'-4,N*”L5r,CHFpGo:“E,MDLu7EW%CFF0$Rl?jT\'6%k%,?AF%UK6ojt/c$MySQLBLOB
数据类型的大小限制为216字节。LONGBLOB
数据类型最多可为232字节,因此将列类型从BLOB
LONGBLOB>更改为
请参阅中字符串类型的存储要求。MySQLBLOB
数据类型的大小限制为216字节。LONGBLOB
数据类型最多可以是232字节,因此将列类型从BLOB
更改为LONGBLOB
请参阅中字符串类型的存储要求