警告:(1265,“第 1 行'日期'列的数据被截断”)

Warning: (1265, "Data truncated for column 'Date' at row 1")

提问人:Sudhi 提问时间:4/30/2018 更新时间:4/30/2018 访问量:5039

问:

我正在使用 python3 将几个值插入 mysql 数据库。我需要输入一个名称,后跟三列数字(大约 15 位数字),然后是另一列包含日期的列。

下面是我的 python 代码。

today = datetime.date.today()
datestr = str(today.month)+"/"+str(today.day)+"/"+str(today.year)

connection = pymysql.connect(host='localhost', user='root', password='', db='testdb')

for item in resp['result']:
    data = (item['name'], item['numberone'], item['numbertwo'], item['numberthree'], item['numberfour'], datestr)
    cursor = connection.cursor()
    sql = ('INSERT INTO testdb.testtable (`Name`, `Col1`, `Col2`, `Col3`, `Col4`, `Date`) VALUES (%s, %s, %s, %s, %s, %s)')
    cursor.execute(sql, data)


connection.close()

但是我收到以下错误。

Python36\lib\site-packages\pymysql\cursors.py:165: Warning: (1265, "Data truncated for column 'Date' at row 1")
result = self._query(query)
[Finished in 0.7s]

如果我在循环中打印变量数据。我得到以下输出。这只是为了向您展示我尝试插入到表中的数据类型。

('Myname', 169324790808576, 167102568398848, 2222222409728, 2222222409728, '4/30/2018')

我想在mysql数据库中插入所有这些值,包括日期。我收到日期错误。感谢帮助解决此问题。

mysql python-3.x 日期 警告

评论

0赞 Raymond Nijland 4/30/2018
MySQL遵循这些常规日期格式yyyy-mm-dd或yyyy/mm/dd,而不是mm/dd/yyyy,假设Date列是date数据类型。小演示 sqlfiddle.com/#!9/96e79f
0赞 Sudhi 4/30/2018
完善!。你是对的。这修复了错误。多谢!:)
0赞 Sudhi 4/30/2018
@RaymonNijland 一个小的后续问题。现在,代码似乎运行没有任何错误。但是,我仍然没有看到通过“插入”命令将日期输入到数据库中。你知道可能是什么原因吗?上面的代码没有变化。只是根据您之前的评论更改了日期顺序。
0赞 Sudhi 4/30/2018
@RaymondNijland 不用担心。我自己修复了错误。我错过了必须在 for 循环末尾编写的 connection.commit() 函数,该函数将值更新到数据库中。无论如何,谢谢!:)

答: 暂无答案