前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python写入数据到MySQL

Python写入数据到MySQL

作者头像
double
发布2018-07-25 18:15:17
3.2K0
发布2018-07-25 18:15:17
举报
文章被收录于专栏:算法channel算法channel
调用 pymysql 包,写入数据到表,遇到一个问题。没想到解决方法竟是这样...

问题描述。一张 mysql 表 t,数据类型有字符型字段 field_s,数值型 field_n。 python提供数据源,调用pymysql 包接口写入数据到 t.

一般都会这么做: 插入脚本为insert into t (field_s, field_n)values (%s, %f), (‘s_val’, float(n_val) ) 调用 execute 接口,commit 后提交。调试程序,发现报错:a number is required, not str. 实际项目中由于插入的字段比较多,本以为有些字段类型未对应好,仔细检查后,确认所有字段类型都对应一致。那是什么问题呢?

经过查询发现,插入的所有字段,格式要求一律为 %s, 因此将上面脚本修改为:insert into t (field_s, field_n) values (%s, %s), (‘s_val’, float(n_val) ) 后,问题得到解决。

这是有些奇怪,脚本中为什么输入格式是 %s 的字段,被赋值为 float 型呢? 很别扭!

这就是调用别人写的开源包可能出现的一个困扰,需要完全按照作者的设计规范调用 API.

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档