使用Python SQLAlchemy将JSON发布到数据库
我正在尝试将从客户端发布的JSON数据添加到我的数据库中,我尝试使用以下代码:使用Python SQLAlchemy将JSON发布到数据库,python,sql,sqlite,sqlalchemy,flask-sqlalchemy,Python,Sql,Sqlite,Sqlalchemy,Flask Sqlalchemy,我正在尝试将从客户端发布的JSON数据添加到我的数据库中,我尝试使用以下代码: @app.route('/postjson', methods=['POST']) def postEventViewer(): print(request.is_json) content = request.get_json() items = [] for item in content: items.append(item['Values'])
@app.route('/postjson', methods=['POST'])
def postEventViewer():
print(request.is_json)
content = request.get_json()
items = []
for item in content:
items.append(item['Values'])
items.append(item['Count'])
items.append(item['Group'])
items.append(item['Name'])
values = item['Values']
count = item['Count']
group = item['Group']
name = item['Name']
engine.execute('INSERT INTO EventViewer (Values, Count, Group, Name) VALUES (:value, :count, :group, :name)', value=values, count=count, group=group, name=name)
@app.route('/postjson', methods=['POST'])
def postEventViewer():
print(request.is_json)
content = request.get_json()
items = []
for item in content:
items.append(item['Values'])
items.append(item['Count'])
items.append(item['Group'])
items.append(item['Name'])
values = item['Values']
count = item['Count']
group = item['Group']
name = item['Name']
engine.execute('INSERT INTO EventViewer ("Values", Count, "Group", Name) VALUES (:value, :count, :group, :name)', value=values, count=count, group=group, name=name)
这给了我以下错误:
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near "Values": syntax error
但在等效数据库中使用相同的代码和较少的参数可以很好地工作,并像预期的那样添加到数据库中:
engine.execute('INSERT INTO person (name, balance) VALUES (:name, :balance)', name=name, balance=count)
我做错了什么?谢谢 此错误是因为
Values
是sql
中的保留关键字。您需要用双引号包装它,以将其视为列名。
编辑
您还有一个关键字用作列名,即Group
。您还需要将其用双引号括起来
尝试下面的查询
此错误是因为
Values
是sql
中的保留关键字。您需要用双引号包装它,以将其视为列名。
编辑
您还有一个关键字用作列名,即Group
。您还需要将其用双引号括起来
尝试下面的查询