在Mysql中存储腌制数据

时间:2013-09-10 00:51:22

标签: python mysql

我正在尝试使用pickle在mysql中存储一个对象,但无论我做什么,我似乎都无法解开数据。

我的mysql数据库

http://i.imgur.com/xCyZtIO.png

我的mysql连接功能

conn = MySQLdb.connect (host = "localhost", user = "user", passwd = "password", db = 'database', use_unicode=True)

存储数据

cursor.execute('UPDATE matchmaking set `elo` = %s WHERE `token` = %s', (pickle.dumps(Rating()) , y[0] ))

加载数据

cursor.execute('SELECT * FROM matchmaking where `gameid` = %s LIMIT 200', (row[0]))
player1 = pickle.loads(player[x][2])

KeyError:'“'

print player[x]

(u'35dc00eeb1fa2a49efcae7d2a8233cef',1L,'“ccopy_reg \ n_reconstructor \ np0 \ n(ctrueskill \ nRating \ np1 \ nc_ builtin _ \ nobject \ np2 \ nNtp3 \ nRp4 \ n(dp5 \ nS \'t \'\ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ _NF0.35999999999999993 \ nsS \'\ n \ pi \'\ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ _对于...

1 个答案:

答案 0 :(得分:0)

你在酸洗的字符串周围有双引号。在.strip('"')之前使用loads删除它们。我不知道为什么你会得到额外的引用,但我并不熟悉MySQL。