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)

這樣插入便不會出現錯誤啦函數

相關文章
相關標籤/搜索