首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在MySQL数据库中保存python对象?

如何在MySQL数据库中保存python对象?
EN

Stack Overflow用户
提问于 2018-06-29 03:10:47
回答 1查看 1.7K关注 0票数 2

我正在尝试使用python中的一个对象示例来创建一个数据库,但是我得到了类似这样的错误消息:"AttributeError:'Eu‘object没有’translate‘属性“我不知道如何修复这个问题

对不起,伙计们,我的英语不是很好,下面是我的代码:

代码语言:javascript
复制
import pymysql.cursors


class Eu:
    def __init__(self, nome='mel', idade=22):
        self.nome = nome
        self.idade = idade


eu = Eu()
nome = eu.nome
idade = eu.idade


# connect do database
conn = pymysql.connect(host='localhost',
                       user='root',
                       password='')

# create a cursor and a database
conn.cursor().execute('CREATE DATABASE banco73') 
conn.cursor().execute('USE banco73')

# create tables
conn.cursor().execute('CREATE TABLE tabela73 (eu BLOB)')

# use tables
conn.cursor().execute("""INSERT INTO tabela73 VALUES (?)""", (eu))

整个控制台消息:

代码语言:javascript
复制
runfile('C:/Users/Usuario/.spyder-py3/temp.py', wdir='C:/Users/Usuario/.spyder-py3')
Traceback (most recent call last):

  File "<ipython-input-59-9994dddea11c>", line 1, in <module>
    runfile('C:/Users/Usuario/.spyder-py3/temp.py', wdir='C:/Users/Usuario/.spyder-py3')

  File "C:\Users\Usuario\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 880, in runfile
    execfile(filename, namespace)

  File "C:\Users\Usuario\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/Usuario/.spyder-py3/temp.py", line 36, in <module>
    conn.cursor().execute("""INSERT INTO tabela73 VALUES (?)""", (eu))

  File "C:\Users\Usuario\Anaconda3\lib\site-packages\pymysql\cursors.py", line 168, in execute
    query = self.mogrify(query, args)

  File "C:\Users\Usuario\Anaconda3\lib\site-packages\pymysql\cursors.py", line 147, in mogrify
    query = query % self._escape_args(args, conn)

  File "C:\Users\Usuario\Anaconda3\lib\site-packages\pymysql\cursors.py", line 133, in _escape_args
    return conn.escape(args)

  File "C:\Users\Usuario\Anaconda3\lib\site-packages\pymysql\connections.py", line 839, in escape
    return converters.escape_item(obj, self.charset, mapping=mapping)

  File "C:\Users\Usuario\Anaconda3\lib\site-packages\pymysql\converters.py", line 27, in escape_item
    val = encoder(val, mapping)

  File "C:\Users\Usuario\Anaconda3\lib\site-packages\pymysql\converters.py", line 118, in escape_unicode
    return u"'%s'" % _escape_unicode(value)

  File "C:\Users\Usuario\Anaconda3\lib\site-packages\pymysql\converters.py", line 73, in _escape_unicode
    return value.translate(_escape_table)

AttributeError: 'Eu' object has no attribute 'translate'
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51089821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档