Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python和MySQL的问题_Python_Mysql_Phpmyadmin_Load Data Infile - Fatal编程技术网

Python和MySQL的问题

Python和MySQL的问题,python,mysql,phpmyadmin,load-data-infile,Python,Mysql,Phpmyadmin,Load Data Infile,我正在尝试将一个大文本文件导入MySQL数据库。SQL语句如下所示: LOAD DATA INFILE '/tmp/epf/full/album_popularity_per_genre' INTO TABLE album_popularity_per_genre CHARACTER SET UTF8 FIELDS TERMINATED BY X'01' LINES TERMINATED BY '\n' IGNORE 45 LINES (export_date, storefront_id

我正在尝试将一个大文本文件导入MySQL数据库。SQL语句如下所示:

LOAD DATA INFILE '/tmp/epf/full/album_popularity_per_genre' 
INTO TABLE album_popularity_per_genre 
CHARACTER SET UTF8 FIELDS TERMINATED BY X'01' LINES TERMINATED BY '\n' 
IGNORE 45 LINES (export_date, storefront_id, genre_id, album_id, album_rank)
当我在
phpMyAdmin
中运行它时,上面的方法是有效的,但是当我用Python编写一个使用上述SQL语句的简单函数时,我得到了一个错误

这是Python代码

def test():
    dbConnection = MySQLdb.connect(
    charset='utf8', 
    host='localhost', 
    user='root', 
    passwd='root', 
    db='epf')

    cursor = dbConnection.cursor()

    exStr = """LOAD DATA INFILE '/tmp/epf/full/album_popularity_per_genre' 
               INTO TABLE album_popularity_per_genre CHARACTER SET UTF8 
               FIELDS TERMINATED BY X'01' LINES TERMINATED BY '\n' 
               IGNORE 45 LINES 
               (export_date, storefront_id, genre_id, album_id, album_rank)"""

    try:
        cursor.execute(exStr)
    except MySQLdb.Warning, e:
        print "Warning %s" % (str(e))
    except MySQLdb.IntegrityError, e:     
        print "Error %d: %s" % (e.args[0], e.args[1])

    #Clean up
    cursor.close()
    dbConnection.close()
我得到的错误如下:

Warning Data truncated for column 'album_rank' at row 1

我现在的问题是,为什么原始SQL语句可以工作,但当我尝试运行Python代码时,没有数据导入数据库

Python DBAPI是隐式事务的。尝试在执行之后添加
dbConnection.commit()

我想您的意思是
dbConnection.commit()
。我试过了,但我还是有同样的问题。谢谢。我刚刚重新检查了数据库,你的建议很有效。非常感谢。我也犯了一个错误,一个错误的警告。我不理会那个警告。