python上传int到mysql_python将二进制数据插入并检索到mysql中

一个提示:您应该能够调用uuid.uuid4().bytes来获取原始数据

字节.至于时间戳,如果你想执行时间/日期操作

在SQL中,处理真正的TIMESTAMP类型通常更容易.

我创建了一个测试表来尝试重现您所看到的内容:

CREATE TABLE xyz (

added_id INT AUTO_INCREMENT NOT NULL,

id BINARY(16) NOT NULL,

PRIMARY KEY (added_id),

UNIQUE (id)

) DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ENGINE=InnoDB;

我的脚本能够使用二进制字段作为插入和查询行

关键没有问题.也许你错误地获取/迭代了

光标返回的结果?

import binascii

import MySQLdb

import uuid

conn = MySQLdb.connect(host='localhost')

key = uuid.uuid4()

print 'inserting', repr(key.bytes)

r = conn.cursor()

r.execute('INSERT INTO xyz (id) VALUES (%s)', key.bytes)

conn.commit()

print 'selecting', repr(key.bytes)

r.execute('SELECT added_id, id FROM xyz WHERE id = %s', key.bytes)

for row in r.fetchall():

print row[0], binascii.b2a_hex(row[1])

输出:

% python qu.py

inserting '\x96\xc5\xa4\xc3Z+L\xf0\x86\x1e\x05\xebt\xf7\\\xd5'

selecting '\x96\xc5\xa4\xc3Z+L\xf0\x86\x1e\x05\xebt\xf7\\\xd5'

1 96c5a4c35a2b4cf0861e05eb74f75cd5

% python qu.py

inserting '\xac\xc9,jn\xb2O@\xbb\xa27h\xcd

selecting '\xac\xc9,jn\xb2O@\xbb\xa27h\xcd

2 acc92c6a6eb24f40bba23768cd3c42da

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值