mysql插入具有不同值的多个行

时间:2013-12-22 00:32:20

标签: mysql

是否可以使用单个insert语句在mysql中插入多行?

我有一张这样的表:

id | firstname | lastname

以及要插入的大名单。

我想使用一个插件来完成此操作。

2 个答案:

答案 0 :(得分:1)

您可以使用INSERT-SELECT查询:

INSERT INTO table (id,firstname,lastname) SELECT 1,'aa','bb' UNION SELECT 3,'bb','cc'

答案 1 :(得分:0)

如果您的文件中有大列名称(例如以逗号分隔格式)

firstname,lastname
Jhon,Doe
Jane,Doe

,您的表架构看起来像

CREATE TABLE table1 
(
  id int(11) NOT NULL AUTO_INCREMENT,
  firstname varchar(64) DEFAULT NULL,
  lastname varchar(64) DEFAULT NULL,
  PRIMARY KEY (id)
);

然后,您可以使用LOAD DATA INFILE将此列表导入表格

LOAD DATA INFILE '/tmp/names.csv' INTO TABLE table1
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES  TERMINATED BY '\n' -- or \r\n 
  IGNORE 1 LINES -- ignore the header line in the file
(firstname, lastname);