通过Python将输入加载到MySQL表失败,列长度错误

通过Python将输入加载到MySQL表失败,列长度错误,python,mysql,Python,Mysql,我正在尝试学习如何通过Python运行MySQL。这个代码是 只打开数据库并尝试将数据加载到空表中 在里面 它失败,出现以下错误: 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",

我正在尝试学习如何通过Python运行MySQL。这个代码是 只打开数据库并尝试将数据加载到空表中 在里面

它失败,出现以下错误:

 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"
文件“test0.py”,第7行,在
cursor.execute(查询)
文件
“/Library/Python/2.7/site packages/MySQL_Python-1.2.4b4-py2.7-macosx-10.7-intel.egg/MySQLdb/cursors.py”,
第202行,在execute中
errorhandler(self、exc、value)
文件
“/Library/Python/2.7/site packages/MySQL_Python-1.2.4b4-py2.7-macosx-10.7-intel.egg/MySQLdb/connections.py”,
第36行,在defaulterrorhandler中
提高errorclass,errorvalue
_mysql_exceptions.DataError:(1406,“数据对于'xkey'列来说太长”
第1行“
xkey将是表中的第一列,因此它失败了 马上。我假设我的终止指令是错误的,那么怎么做呢 我是否看到它试图加载到该列中的内容,以便修复
它?如果我错了,我应该怎么做?

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


但是,我认为字段终止符是'\r',因此我不明白为什么即使添加了正确的行终止符,保留以'\r'结尾的字段仍会产生错误。如果只保留行部分,则会产生错误。

听起来您试图插入的数据大于指定的列值。您能告诉我们有关y的更多信息吗我们的DB模式?您的命令声明字段由
\r\n
终止。您确定这是正确的吗?如果是正确的,行终止符是什么?Haymaker:我正在加载到一个64列的表中:第一列是char[10]这是它的第一行:0009999000 9601 N XX路2516025 441050 5093 5093\\11 100\0\867300 996700 996700 908600 907100 905000 897\300 891400 873100 1140000 1140000 1140000 1140000 1140000 0 0 0\0 0 0 0 0 0 0 0 0 0 0 0 0 0 0理查德·圣赛尔:你是对的。字段终止符是\r。我纠正了这一点,添加了\n作为行终止符,然后再次运行:它仍然发现第一列太长。
 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"