【发布时间】:2018-09-28 01:29:39
【问题描述】:
我是烧瓶和开发的新手,一般来说,这个错误太主观了,即使在看到 stackoverflow 上的几篇帖子后我也无法谷歌搜索,我无法弄清楚一切都是正确的,实际上我正在拉扯我的头发
@app.route("/bookPage/<all>" , methods=["GET" , "POST"])
def bookPage(all):
global all2
if request.method == "POST":
#variables
list1 = ['101','milk','3','jack','2018-09-27 16:33:58.553349' ]
db.execute("INSERT INTO review_table (id, review, rate , user , time_t) VALUES (:id, :review, :rate , :user , :time_t)" , {"id" : list1[0], "review" : list1[1], "rate": list1[2] ,"user":list1[3] , "time_t" :list1[4] })
db.commit()
print( f"review has been added of value : ,{review} \n ,and rate of : , { rate_i} ,\n , by user : , { user_i }, \n, and Id : , {id_i}" )
else:
print("\n\n",all,"\n\n")
all1 = all.split(",")
all2 =[a.strip("()").replace("'","") for a in all1]
return render_template("bookPage.html",all1=all2)
每次我执行它时,我都会收到此错误(错误:“用户”处或附近的语法错误)他指向“用户”中的“用户”
"INSERT INTO review_table (id, review, rate , user , time_t)
一切都正确,我是 nw,但我已经多次执行 db
db 中的表是空的 postgresql 列
列类型注释
-
id 整数
-
审查字符变化NULL
-
率整数NULL
-
用户字符变化 NULL
-
time_t 时间不带时区 NULL
请告诉我为什么这种情况不断发生 我用常量字符串“test”更改了用户输入我得到了同样的错误...... 我认为该错误具有误导性
【问题讨论】:
-
错误是准确的:您的列列表包含关键字
user。如果您希望使用与关键字冲突的标识符,则必须使用带引号的标识符。
标签: python postgresql sqlalchemy psycopg2