我正在尝试将一些数据更新到mysql表中,没有产生警告/错误但是插入的数据有一个额外的字符0并且字符串被截断。这是Python shell的代码:
>>> len(d) #d is a string with contents of an html email
12347
>>> d[:100]
'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.=\r\nw3.org/TR/html4/loose.'
>>> a = mysql.connector.connect(user='root', password='mypass', database='mydb')
>>> cur = a.cursor(prepared=True)
>>> cur.execute('UPDATE emails set content=? where emailid=10', (d,))
>>> a.commit()
>>> cur.execute('SELECT content from emails WHERE emailid=10')
>>> cur.fetchall()
[('0<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional/',)]
正如您所看到的内容被截断并且还有一个额外的&#39; 0&#39; 。内容类型&#39;字段是MEDIUMTEXT,我尝试使用和不使用sql_mode严格,但结果是相同的。