MySQL LOAD DATA INFILE - 加载没有主键的文件
Posted
技术标签:
【中文标题】MySQL LOAD DATA INFILE - 加载没有主键的文件【英文标题】:MySQL LOAD DATA INFILE - Loading a file with no primary key 【发布时间】:2010-12-12 00:54:11 【问题描述】:我试图使用“LOAD DATA LOCAL INFILE 'filename' INTO TABLE 'tablename'”将数据文件加载到 mysql 表中。
问题是源数据文件包含每个字段的数据,但缺少主键('id' 列)。我必须为源数据文件的每一行添加一个唯一的 id,否则导入将无法通过。
是否可以选择忽略源文件中的主键或在导入期间自动增加主键?
它已经被设置为一个自增主键。
mysql> desc tablename;
+--------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
...
【问题讨论】:
【参考方案1】:为什么不加载到具有自增主键的表中?
create table MyTable (
id integer auto_increment primary key,
...
)
可以在表名后面指定要导入的列:
LOAD DATA INFILE 'filename' INTO TABLE tablename (col1,col2,...);
如果不指定 id 列,MySQL 不会从文件中读取它。
【讨论】:
建表时已经设置为自增主键。 注意:列应该在任何字段/行/列终止符/封闭声明之后。以上是关于MySQL LOAD DATA INFILE - 加载没有主键的文件的主要内容,如果未能解决你的问题,请参考以下文章
MySQL:启用 LOAD DATA LOCAL INFILE
MySQL通过 LOAD DATA INFILE 批量导入数据
mysql load data local infile问题