首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Python将输入加载到MySQL表失败,因为列长度不正确

问通过Python将输入加载到MySQL表失败,因为列长度不正确
EN

Stack Overflow用户
提问于 2016-01-06 23:03:33
回答 1查看 175关注 0票数 0

我正在尝试学习如何通过Python运行MySQL。这段代码除了打开数据库并尝试将数据加载到其中的一个空表之外,什么也不做。

代码语言:javascript
复制
import MySQLdb

connection = MySQLdb.Connect(host='localhost', user='xx', passwd='xx',   db='xx')
cursor = connection.cursor()
query = "LOAD DATA INFILE '/APath/aFile' INTO TABLE xx FIELDS TERMINATED   BY '\r\n'"
cursor.execute( query )
connection.commit()

它会失败,并显示以下错误:

代码语言:javascript
复制
 File "test0.py", line 7, in <module>
    cursor.execute( query )
  File
 "/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.7-intel.egg/MySQLdb/cursors.py",
 line 202, in execute
    self.errorhandler(self, exc, value)
  File
 "/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.7-intel.egg/MySQLdb/connections.py",
 line 36, in defaulterrorhandler
    raise errorclass, errorvalue
_mysql_exceptions.DataError: (1406, "Data too long for column 'xkey'
 at row 1"

xkey将是表中的第一列,因此它会立即失败。我假设我的终止指令是错误的,那么我如何看到它试图加载到该列中的内容,以便我可以修复它?如果我错了,我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2016-01-07 13:17:23

抱歉:它似乎真的不需要字段,而是以'\r‘结尾的行

但是,我认为字段终止符是'\r',所以我不明白为什么留下以‘\r’结尾的字段,即使我添加了正确的行终止符,仍然会产生错误。如果我只留下线条的一部分,它就会起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34636268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档