Mysql出现ERROR 1265: Data truncated for

遇到的问题:python在向mysql insert数据时出现错误1265python

在网上看到一些帖子,均是表字段长度不够,类型不符等等,查看了下本身要insert的数据,发现确实是数据的问题mysql

user = users(id='0009', email='小9', password='小小', admin=2, name='小小', image='小小', created_at=22)

想插入的数据如上,可是通过初始化以后,userargs中保存的并非按照(id, email, password, admin, name, image, created_at)这一顺序排列的数据,拿到的userargs倒是[name, id, email, created_at, image, password, admin]等乱序list。sql

def __init__(self, **kwargs):
    userargs = []
    # print "lenofkwargs", len(kwargs)
    if len(kwargs) >= 0:
        for attr, value in kwargs.iteritems():
            setattr(self, attr, value)
            userargs.append(value)

虽然不知道缘由,可是利用setattr函数已经创建了对应的dict,只需在__init__函数中进行以下处理便可:app

self.usertuple = (self.id, self.email, self.password, self.admin, self.name, self.image, self.created_at)

这样插入便不会出现错误啦函数

相关文章
相关标签/搜索