当前位置: 首页 > article >正文

ProgrammingError: nan can not be used with MySQL

  1. 该错误怎么发生的?

我们先在本地创建测试表:

CREATE TABLE `users_test` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
  `trade_account` varchar(50) DEFAULT NULL COMMENT '交易账号',
  `username` varchar(50) DEFAULT NULL,
  `email` varchar(100) DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

SELECT * FROM users_test;

在这里插入图片描述
然后,我们尝试通过Python往里面写数:


import pymysql 
engine = pymysql.connect(host="xxx.138.xxx.216", user="root",port=3306, password="xxxxxxMoH0Oj", database="xxxx", charset="utf8")

# cursor.execute(f"INSERT INTO users_test(username,email) VALUES (%s,%s)", (math.nan, 'TEST@QQ.COM') ) 

cursor.execute(f"INSERT INTO users_test(username,email) VALUES (%s,%s)", (np.NAN, 'TEST@QQ.COM') )

在这里插入图片描述

# 改变策略:

cursor.execute(f"INSERT INTO users_test(username,email) VALUES (%s,%s)", (None, 'TEST@3Q.COM') )  # 可以

# 提交事务并关闭连接
engine.commit()

# 关闭engine:
engine.close()

成功!

进一步总结:

在这里插入图片描述
一定要转一下
在这里插入图片描述


http://www.kler.cn/a/156496.html

相关文章:

  • 数据结构--数组
  • C#从入门到放弃
  • SQL中的时间类型:深入解析与应用
  • Java算法OJ(7)随机快速排序
  • 排序算法 - 冒泡
  • ubuntu-desktop-24.04上手指南(更新阿里源、安装ssh、安装chrome、设置固定IP、安装搜狗输入法)
  • 唯创知音WT588F02A-16S录音语音芯片在宠物喂食器中的应用:小芯片,大功能
  • 【python】——函数
  • 合成相机模型【图形学】
  • 机器人制作开源方案 | 校园餐具回收分类机器人
  • 群晖NAS配置之搭建WordPress个人博客站点
  • ❀My学习Linux命令小记录(7)❀
  • 【JVM系列】Class文件分析
  • 蓝桥杯每日一题2023.12.3
  • el-select多选multiple数据无法删除,回显成功,但无法编辑,选中和删除都没反应
  • C++类的定义和使用
  • 单个 Zip 文件体积超过 40GB
  • 二蛋赠书十期:《剪映短视频剪辑从入门到精通》
  • 天翼云:“百万IOPS”助推政企上云
  • 理解 Python 的 for 循环
  • 颠覆性语音识别:单词级时间戳和说话人分离
  • nodejs的安装和验证
  • 2023/11/30JAVAweb学习(postman,各种参数,统一响应数据,三层架构,分层解耦,bean组件扫描,Bean注入及解决方式)
  • python-绘图(主次坐标轴)
  • windows11 调整鼠标灵敏度方法
  • 分享73个节日PPT,总有一款适合您