用pymysql插入一条记录语句格式正确但是一直提示出错

博客指出可能因插入的表名字符里有下划线而出现问题,解决办法是将表名修改为不带下划线的名称。

有可能是插入的表名字符里有下划线,改个名不带下划线即可

###########################上传数据到MySQL数据库######################### def upload_to_mysql(data_lines): # MySQL数据库连接配置 config = { "host": "192.168.100.18", "port": 3306, "user": "yiyaoqixie", "password": "123456", "db": "yiyaoqixie", "charset": "utf8mb4", "cursorclass": pymysql.cursors.DictCursor # 游标返回字典格式 } connection = None try: # 连接数据库 connection = pymysql.connect(**config) cursor = connection.cursor() # 插入数据的SQL语句 - 匹配新的表结构 insert_sql = """ INSERT INTO yaoz (student, title, dept, text_sign, level, public_date, keep_time, content, attachments, url, platform_id) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) ON DUPLICATE KEY UPDATE title=VALUES(title), dept=VALUES(dept), text_sign=VALUES(text_sign), level=VALUES(level), public_date=VALUES(public_date), keep_time=VALUES(keep_time), content=VALUES(content), attachments=VALUES(attachments), url=VALUES(url) """ # 批量插入数据 for data in data_lines: try: cursor.execute(insert_sql, ( data[0], # student data[1], # title (文章标题) data[2], # dept data[3], # text_sign data[4], # level data[5], # public_date data[6], # keep_time data[7], # content (合并内容) data[8], # attachments data[9], # url data[10] # platform_id )) except Exception as e: print(f"插入数据时出错: {str(e)}, 数据: {data}") continue # 跳过这条数据,继续处理下一条 # 提交事务 connection.commit() print(f"成功上传 {len(data_lines)} 条数据到MySQL数据库") except Exception as e: print(f"上传数据到MySQL出错: {str(e)}") if connection: connection.rollback() finally: if connection: cursor.close() connection.close()连接该数据库是否会有问题
最新发布
10-31
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值