【发布时间】:2014-06-10 00:42:49
【问题描述】:
我正在尝试使用以下 Python 脚本将数据加载到 MySQL 表中:
conn = connect_db()
cursor = conn.cursor()
cursor.execute(
"LOAD DATA LOCAL INFILE " + jobsummaryfile + " INTO TABLE daily_job_summary " +
"FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' (@col1, @col2, @col3, @col4) " +
"set jobname=@col1, queue=@col2, maphours=@col3, reducehours=@col4, date=" + date +
", pipeline=" + pipeline_name + ", grid=" + grid
)
我收到以下错误:
_mysql_exceptions.OperationalError: (1054, "Unknown column 'galaxy' in 'field list'")
我知道在传递查询时这是一个引号问题,但我很难弄清楚。有人可以建议我在哪里犯错吗?
这是我要执行的查询:
LOAD DATA LOCAL INFILE 'file.tsv'
INTO TABLE daily_job_summary
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
(@col1, @col2, @col3, @col4)
set jobname=@col1, queue=@col2, maphours=@col3, reducehours=@col4,
date=2014-01-05, pipeline='abcd', grid='AB'
这是我的表结构:
| id | int(11) | NO | PRI | NULL | auto_increment |
| date | date | YES | | NULL | |
| pipeline | varchar(12) | YES | | NULL | |
| grid | varchar(2) | YES | | NULL | |
| jobname | varchar(255) | YES | | NULL | |
| maphours | int(11) | YES | | NULL | |
| reducehours | int(11) | YES | | NULL | |
| queue | varchar(60) | YES | | NULL | |
【问题讨论】:
-
您必须显示在 cursor.execute() 命令中发送的查询字符串、示例文件以及表架构。
-
编辑了问题@IvanCachicatari
-
你的表中的“星系”列在哪里?
-
galaxy 是管道名称...@furas
-
看来
pipeline_name需要加引号
标签: python mysql mysql-python