Python MySQLdb加载本地填充问题
问题很简单。当我执行以下操作时,我会得到不同的结果,这取决于我是从MySQL控制台运行它还是从使用MySQLdb的Python脚本内部运行它:Python MySQLdb加载本地填充问题,python,mysql,Python,Mysql,问题很简单。当我执行以下操作时,我会得到不同的结果,这取决于我是从MySQL控制台运行它还是从使用MySQLdb的Python脚本内部运行它: LOAD DATA LOCAL INFILE '/tmp/source.csv' INTO TABLE test FIELDS TERMINATED BY '|' IGNORE 1 LINES; Console提供以下结果: 记录:35002已删除:0已跳过:0警告:0 Python(via.info())返回以下内容: 记录:34977已删
LOAD DATA LOCAL INFILE '/tmp/source.csv' INTO TABLE test
FIELDS TERMINATED BY '|'
IGNORE 1 LINES;
Console提供以下结果:
- 记录:35002已删除:0已跳过:0警告:0
- 记录:34977已删除:0已跳过:0警告:8
- MySQL服务器“5.1.41-3ubuntu12.1”
- Python“2.6.5”
- 表是MyISAM
SELECT @@warning_count;
检查是否大于0。
如果是,则执行
SHOW WARNINGS;
并转储结果(返回3列:级别、代码、消息)或引发异常。
您可以执行这两条语句,就像执行其他每一条select*from。。。查询。加载数据后,执行
SELECT @@warning_count;
检查是否大于0。
如果是,则执行
SHOW WARNINGS;
并转储结果(返回3列:级别、代码、消息)或引发异常。
您可以执行这两条语句,就像执行其他每一条select*from。。。查询。您是否尝试过隔离一条给出不同行为的行?你可以平分(分割一个区域)来分离一条线,这条线在程序员时间的O(log(n))中给出不同的结果。。。对最后一列值非常敏感,特别是当它们为空时。只需更改列顺序即可对同一数据文件起作用。。。但是像大多数事情一样,总是有一个低级的解决方法。你有没有尝试过分离出一条给出不同行为的线?你可以平分(分割一个区域)来分离一条线,这条线在程序员时间的O(log(n))中给出不同的结果。。。对最后一列值非常敏感,特别是当它们为空时。只需更改列顺序即可对同一数据文件起作用。。。但和大多数事情一样,总是有一个低级的解决方法。在查询失败后,选择@@warning\u count;,我发现在MySQLdb或更具体的_mysql中,您需要使用conn.warning_count()来获取警告计数,否则您可能会得到一个2014命令不同步错误。查询失败后,请选择@@warning_count;,我发现在MySQLdb或更具体地说_mysql中,您需要使用conn.warning_count()来获取警告计数,否则您可能会得到一个不同步的错误。