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 |
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!