【发布时间】:2019-02-19 01:52:45
【问题描述】:
我正在尝试使用 pymysql 和参数将日期插入 MySql 数据库。有些行有一个日期字段,但对于其他一些行,缺少特定的日期字段。空行给出“pymysql.err.InternalError: (1292, “Incorrect date value:”类型的错误。下面是一段重现错误的代码:
import pymysql
db=pymysql.connect("localhost","testuser","test1234","TESTDB")
cursor = db.cursor()
cursor.execute("SELECT VERSION()")
data = cursor.fetchone()
print ("Database version : %s " % data)
query = "DROP TABLE IF EXISTS birthdays"
cursor.execute(query)
query="CREATE TABLE birthdays(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,\
name VARCHAR(20),\
birthday DATE NULL DEFAULT NULL)"
cursor.execute(query)
db.commit()
birthdays={'David':'2014-05-22','Larry':'014-05-22', 'Barry':''}
for k,v in birthdays.items():
print(k,v)
query="INSERT INTO birthdays (name,birthday) VALUES ('%s','%s')"%(k,v)
cursor.execute(query)
db.commit()
db.close()
问题在于巴里及其空日期。我尝试将 Barry 的日期设置为 None,但它不起作用。如果我将其设置为“NULL”并从日期参数中删除引号(('%s',%s)而不是('%s','%s'))它适用于巴里,但请注意其他人.
非常感谢您,
加布里埃尔·维达尔
【问题讨论】: