mysql可以通过insert语句一次性插入多条记录,但是这一条语句是个事务,所以要成功都成功,要失败都失败。语句中每条记录都是通过()括起来。
且该语法是mysql自身的,不是标准语法,无法通用。
以下内容转自:http://www.jb51.net/article/94702.htm
mysql一次插入多条数据:
1
2
3
4
5
|
INSERT
INTO
hk_test(username, passwd)
VALUES
(
'qmf2'
,
'qmf2'
),(
'qmf3'
,
'qmf3'
),(
'qmf4'
,
'qmf4'
),(
'qmf5'
,
'qmf5'
)
GO
|
我们先来创建一种表Authors:
1
2
3
4
5
6
7
|
CREATE
TABLE
Authors(
AuthID
SMALLINT
NOT
NULL
PRIMARY
KEY
,
AuthFN
VARCHAR
(20),
AuthMN
VARCHAR
(20),
AuthLN
VARCHAR
(20)
)
ENGINE=INNODB;
|
然后向表中一次性插入多条数据,sql插入代码如下:
1
2
3
4
5
6
7
8
9
|
INSERT
INTO
Authors
VALUES
(1006,
'H'
,
'S.'
,
'T'
),
(1007,
'J'
,
'C'
,
'O'
),
(1008,
'B'
,
NULL
,
'E'
),
(1009,
'R'
,
'M'
,
'R'
),
(1010,
'J'
,
'K'
,
'T'
),
(1011,
'J'
,
'G.'
,
'N'
),
(1012,
'A'
,
NULL
,
'P'
),
(1013,
'A'
,
NULL
,
'W'
),
(1014,
'N'
,
NULL
,
'A'
);
|
其实与一条一条插入的SQL语句非常类似,只是多条插入语句使用逗号将每条数据分开。
结果如下:
AuthID | AuthFN | AuthMN | AuthLN |
1006 | H | S. | T |
1007 | J | C | O |
1008 | B | E | |
1009 | R | M | R |
1010 | J | K | T |
1011 | J | G. | N |
1012 | A | P | |
1013 | A | W | |
1014 | N | A |
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!