mysql怎么插入字节型数据?

1.我通过python,向mysql插入类似b'\x33\x00\x78\xff'的数据。mysql的字段类型是varchar,插入之后发现,数据少了转义字符. 而且也不知道把数据重新读出来后,怎么把它从字符串变回字节类型的数据。

sql = "insert into myapp_userinfo (info) values (\"%s\")" % b'\x01\x00\x00\x00...'
xx.execute(sql)
...

图片描述


2
varchar类型被我穿成blob,然后尝试继续插入,还是不行。
图片描述

python读回来的结果
图片描述

我希望数据能够原模原样的写进和读出来
刚接触python和mysql,这个问题弄了很久,有懂的人请回答下,谢谢!

阅读 7.6k
4 个回答

可以试试把数据序列化后存入数据库,取的时候转一次,这样试试

跟问主的数据库编码有关系,将所有的系统编码改为utf-8就可以了
图片描述

我的数据库编码如下:
图片描述

mysql 不是有个专门用来存二进制的数据类型吗?BINARY和VARBINARY类型

可以考虑像密码经过AES加密成二进制后经过base64_encode转成字符串存储到密码字段中,读取时base64_decode解码即可.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题