You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python向MySQL表插入数据时遇SQL语法错误求助

问题解决:Python插入MySQL数据时的语法错误

问题根源

你的SQL语句中使用了MySQL的保留关键字index作为字段名,直接使用会触发语法错误。MySQL有一系列内置保留字(如index、name),不能直接作为表名/字段名这类标识符使用,必须用反引号(`)包裹才能正常识别。

修改后的代码

将SQL语句中的保留字字段名用反引号包裹,同时修正插入操作后的无效遍历逻辑:

a1 = input('Index : ')
b1 = input('Name : ')
c1 = input('job : ')

# 用反引号包裹保留字字段名,避免语法冲突
sql3 = 'INSERT INTO data(`index`, `name`, `job`) VALUES(%s, %s, %s)'
val3 = [a1, b1, c1]
cursor.execute(sql3, val3)
mydb.commit()

# INSERT操作无结果集,通过rowcount验证插入成功
print(f"成功插入 {cursor.rowcount} 条数据")

额外注意事项

  • 你的错误信息中出现了phone_no,但代码里写的是job,如果实际表结构字段是phone_no,请同步修改SQL语句中的字段名。
  • 插入操作执行后,cursor不会返回结果集,原代码中的for x in cursor: print(x)不会输出任何内容,用cursor.rowcount或后续执行SELECT查询更适合验证结果。
  • 编写SQL时尽量避免使用MySQL保留字作为标识符,从根源减少这类语法问题。

内容的提问来源于stack exchange,提问作者Thakshaya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 21:45:17