Python脚本插入MySQL报错:Unknown column 'Total_Price' in 'field list'
解决MySQL插入报错"Unknown column 'Total_Price' in 'field list'"的方案
1. 先确认数据库表的真实列名
打开phpMyAdmin找到你的目标表,查看结构页的列列表:
- 仔细核对是否真的存在
Total_Price这个列,注意MySQL在Linux环境下默认大小写敏感,要是表中实际列名是total_price或TotalPrice,代码里的Total_Price就会触发这个错误。 - 检查列名拼写,有没有漏写/多写下划线、字母打错的情况。
2. 对应调整代码或表结构
情况一:表中确实没有Total_Price列,且你需要这个字段
在phpMyAdmin的SQL执行框里运行添加列的命令,比如数据类型用十进制的话:
ALTER TABLE 你的表名 ADD COLUMN Total_Price DECIMAL(12,2);
(根据实际数据类型调整,比如整数就用INT,字符串用VARCHAR(255))
情况二:表中没有Total_Price列,且你不需要这个字段
修改Python里的插入SQL语句,删掉Total_Price相关部分:
# 原错误语句示例 # sql = "INSERT INTO stock_data (Date, Open, High, Low, Close, Volume, Total_Price) VALUES (%s, %s, %s, %s, %s, %s, %s)" # 修正后 sql = "INSERT INTO stock_data (Date, Open, High, Low, Close, Volume) VALUES (%s, %s, %s, %s, %s, %s)" # 同时要保证传入的数据元组也去掉对应的值,比如从7个元素改成6个 data = (date_val, open_val, high_val, low_val, close_val, volume_val)
3. 额外避坑提示
- 要是你的列名是MySQL关键字(比如
Date、Close),记得用反引号`包裹,避免隐性错误:
sql = "INSERT INTO stock_data (`Date`, `Open`, `High`, `Low`, `Close`, `Volume`) VALUES (%s, %s, %s, %s, %s, %s)"
- 复制phpMyAdmin里的列名到代码里,别手动输入,减少拼写错误概率。
内容的提问来源于stack exchange,提问作者Krattza
相关产品推荐
相关产品推荐

