gpt4 book ai didi

python - 如何忽略pymysql警告?

转载 作者:行者123 更新时间:2023-12-03 18:16:32 29 4
gpt4 key购买 nike

考虑这个代码:

import pymysql

db= pymysql.connect("localhost","root","","raspi")
cursor = db.cursor()
cursor.execute("INSERT INTO access(username)VALUES('hello')")
db.commit()
db.close()

当我运行它时,我会收到此错误:
C:\Python36\lib\site-packages\pymysql\cursors.py:165: Warning: (1364,"Field'salt' doesn't have a default value")result = self._query(query)

如何忽略 pymysql 警告?

最佳答案

您收到该错误的原因是您的 salt字段不允许 NULL 值,但您正在尝试插入它们,可能您的表创建 sql 代码如下所示:

CREATE TABLE `access` (
`username` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
...
`salt` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci'
)
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB
;

如果您只想允许该字段的 NULL 值,那么您的 SQL 代码可能需要更改为:
...
`salt` VARCHAR(50) NULL COLLATE 'utf8_unicode_ci'
...

无论如何,如果您仍然坚持保留原始数据库结构并想了解如何过滤警告,这里有一种可能的方法:
import pymysql
import warnings


db = pymysql.connect("localhost", "root", "", "raspi")

with warnings.catch_warnings():
warnings.simplefilter("ignore")
cursor = db.cursor()
cursor.execute("INSERT INTO access(username)VALUES('hello')")
db.commit()
db.close()

如需更多信息,请查看 warnings docs

关于python - 如何忽略pymysql警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51113701/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com