python - MySQLdb._exceptions.ProgrammingError: (1064, "您的 SQL 语法有错误;请查看与您的 MySQL 服务器相对应的手册
问题描述
我正在尝试使用我的 Flask 应用程序将数据插入 MySQL 表,如下所示;
#Create MySQL connection and write data into the table user_data from the POST form
sql_cursor = mysql.connection.cursor()
sql_cursor.execute("""INSERT INTO user_data (make,model,trim,fuel_type,transmission,condition,body_type,region,descriptn,eng_capacity,year,mileage, estm_value)
VALUES (new_info['make'],new_info['model'],new_info['trim'],new_info['fuel_type'],new_info['transmission'],new_info['condition'],
add_bodytype['body_type'],add_region['region'],new_data['description'],new_data['eng_capacity'],year,new_data['mileage'], estm_value);""")
mysql.connection.commit()
sql_cursor.close()
这也不起作用:
sql_cursor = mysql.connection.cursor()
sql_cursor.execute("INSERT INTO user_data (make,model,trim,fuel_type,transmission,condition,body_type,region,descriptn,eng_capacity,year,mileage, estm_value) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)", (new_info['make'],new_info['model'],new_info['trim'],new_info['fuel_type'],new_info['transmission'],new_info['condition'],add_bodytype['body_type'],add_region['region'],new_data['description'],new_data['eng_capacity'],year,new_data['mileage'], estm_value))
mysql.connection.commit()
sql_cursor.close()
我收到以下错误:
I get the below error:
MySQLdb._exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'condition,body_type,region,descriptn,eng_capacity,year,mileage, estm_value)\n ' at line 1")
有人请帮助我。
解决方案
主页解释了如何使用占位符https://dev.mysql.com/doc/connector-python/en/connector-python-example-cursor-transaction.html
如果你的变量都是有效的。
这应该工作
sql_cursor.execute("""INSERT INTO user_data (make,model,trim,fuel_type,transmission,condition,body_type,region,descriptn,eng_capacity,year,mileage, estm_value)"""\
""" VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s, %s);""",(new_info['make'],new_info['model'],new_info['trim'],new_info['fuel_type'],new_info['transmission'],new_info['condition'],
add_bodytype['body_type'],add_region['region'],new_data['description'],new_data['eng_capacity'],year,new_data['mileage'], estm_valu)))
mysql.connection.commit()
sql_cursor.close()
推荐阅读
- python - dlib 在 raspbian 上失败
- java - 使用扩展类的多个活动的 SharedPreferences
- python - 将 jupyter notebook 单元的输出打印到文件中
- python - 如何在python中使用for循环和数组来计算错误传播
- python - 在“n”个句号后停止捕获
- php - 重定向到 index.php 但未在搜索栏中显示“index.php”
- sql - 将 ISNULL 函数与 LEAD 函数一起使用:遇到问题
- c++ - Is the same way write this two type of struct?
- c# - 如何用线程解决任务执行问题?
- postgresql - 如何使用 FOREACH 使用数组中的值多次查询