Python和MySQL的问题
我正在尝试将一个大文本文件导入MySQL数据库。SQL语句如下所示: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
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()
。我试过了,但我还是有同样的问题。谢谢。我刚刚重新检查了数据库,你的建议很有效。非常感谢。我也犯了一个错误,一个错误的警告。我不理会那个警告。