sqlite使用python更新sintax

时间:2018-05-17 14:32:35

标签: python flask sqlite flask-restful

我使用python创建api休息,我得到一个 put ,我想用新信息更新我的表,我的代码是:

db_connect = create_engine('sqlite:///info')

class UserId(Resource):

def __init__(self):
    self.conn = db_connect.connect()

def put(self,id):
    user = unicode(request.data)
    user = json.loads(user)
    query = self.conn.execute(  update user
                                set email= user['email'],
                                firstName = user['firtsName'],
                                lastName = user['lastName'],
                                description = user['description'],
                                salaryClaims = user['salaryClaims']
                                where id=id)
    return {'status':'success'}

当我跑回来时:

 File "server.py", line 44 query = self.conn.execute(  update user
                                                                 ^

有人知道为什么不工作?

1 个答案:

答案 0 :(得分:1)

您需要引用SQL并使用参数:

query = self.conn.execute("""update user
                            set email = ?,
                            firstName = ?,
                            lastName = ?,
                            description = ?,
                            salaryClaims = ?
                            where id = ?""", [user['email'], user['firtsName'], user['lastName'], user['description'], user['salaryClaims'], id])