› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
danzzzz
V2EX  ›  MySQL

请问连接数据库的时候出现 AttributeError: 'NoneType' object has no attribute 'drivername'这样的错误。

  •  
  •   danzzzz · Nov 15, 2018 · 6902 views
    This topic created in 2889 days ago, the information mentioned may be changed or developed.

    摸不着头绪,请问该如何解决,先谢谢各位了?这个问题有点着急解决,如果有知道兄台的真的希望可以得到解答。

    Supplement 1  ·  Nov 15, 2018
    不好意思,没有进行详细的说明。
    这里说一下使用的是 python 的 flask 框架,用的是 flask_sqlalchemy 来连接数据库,
    连接数据库的代码是 mysql+pymysql://root:xxx@localhost:3306/xxx?charset=utf8.
    随后知道没有建表,于是使用 db.create_all()进行建表,结果报以下错误。

    sqlalchemy.exc.IntegrityError: (pymysql.err.IntegrityError) (1215, 'Unknown error 1215') [SQL: '\nCREATE TABLE file (\n\tid INTEGER NOT NULL AUTO_INCREMENT, \n\tfilename VARCHAR(50), \n\tstate VARCHAR(20), \n\tuser_id VARCHAR(50), \n\tPRIMARY KEY (id), \n\tUNIQUE (filename), \n\tFOREIGN KEY(user_id) REFERENCES user (open_id)\n)\n\n']

    贴上数据库模型
    class File(db.Model):
    __tablename__ = 'file'
    id = db.Column(db.Integer,primary_key=True)
    filename = db.Column(db.String(50),unique=True)
    state = db.Column(db.String(20))
    user_id = db.Column(db.String(50),db.ForeignKey('user.open_id'))
    to_do_lists = db.relationship('To_do_list')
    7 replies  •  2018-11-15 18:42:04 +08:00
    quere
        1
    quere  
       Nov 15, 2018
    AttributeError: 'NoneType'对象没有属性'drivername' 没有这个 drivername 字段吧
    0ZXYDDu796nVCFxq
        2
    0ZXYDDu796nVCFxq  
       Nov 15, 2018 via Android
    先判断下数据库对象不为 None
    chenstack
        3
    chenstack  
       Nov 15, 2018
    给的信息太少了吧,报错像是 Python 层的,所用框架,代码上下文也没有说。只能猜测是查出的对象为 None,记录不存在。
    shylockhg
        4
    shylockhg  
       Nov 15, 2018
    连接数据库失败咯,用命令行测试一下数据库吧
    danzzzz
        5
    danzzzz  
    OP
       Nov 15, 2018
    @chenstack 不好意思,相关说明我已经加上了。
    danzzzz
        6
    danzzzz  
    OP
       Nov 15, 2018
    @quere 是的,我一开始并没有建表,说以可能是没有数据库文件。
    zeraba
        7
    zeraba  
       Nov 15, 2018 via Android
    这个已经告诉你错误在哪里了
    https://dev.mysql.com/doc/refman/8.0/en/server-error-reference.html
    1215 错误码可以在这里找到描述
    其他的 mysql 错误也可以查阅文档解决
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1160 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 23:18 · PVG 07:18 · LAX 16:18 · JFK 19:18
    ♥ Do have faith in what you're doing.