pymysql中把None转化为NULL的方法
时间: 2024-02-11 12:09:35 浏览: 29
在使用 PyMySQL 连接 MySQL 数据库时,可以使用 PyMySQL 的 converters 模块来将 Python 中的 None 转换为 MySQL 中的 NULL。
示例代码如下:
```python
import pymysql
from pymysql import converters
# 将 None 转换为 NULL
conv = converters.conversions.copy()
conv[None] = "NULL"
connect = pymysql.connect(host='localhost', port=3306, user='root', password='password', database='test', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor, conv=conv)
# 执行 SQL 语句
try:
with connection.cursor() as cursor:
sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
cursor.execute(sql, ("test@example.com", None))
connection.commit()
finally:
connection.close()
```
在这个例子中,我们使用 converters.conversions.copy() 复制了 converters.conversions,然后将 None 转换为 "NULL",并将其传递给 PyMySQL 的 connect 方法中的 conv 参数。这样就可以在执行 SQL 语句时,将 Python 中的 None 转换为 MySQL 中的 NULL 了。