回答

收藏

使用一个插入命令插入多行

技术问答 技术问答 116 人阅读 | 0 人回复 | 2023-09-13

是否可以使用一个insert语句在一个表中插入多行?我知道如果发生以下情况,将会发生这种情况:; n. m% a, I' N% H5 P6 X5 i4 m2 G
insert into table ( fields ) select values from another_table% g4 G) c6 _2 _
但是,如果我想插入:
0 X3 F2 Q+ U- P0 G9 ^' e. f: c! I; l* Irow 1 - ( a1, b1, c1 )$ F! C" O2 b/ v* j+ b) J
row 2 - ( a2, b2, c2 ); v+ t+ T2 z8 [* F8 F7 E- Q
...) i$ @3 x+ X. D3 N
row n - ( an, bn, cn ). K% n( _+ p) j. y1 a
只需一个插入命令?8 F5 @6 c$ F! S- B0 ~/ {; C3 e+ g
                / h- M" T& n1 G; t9 C
解决方案:5 @* `  `/ ?$ u. x, u2 k2 Q8 j
                * R  r; B8 g1 L( W8 h8 Q9 z7 t. Q
1 Q: B3 x$ C! P5 B! q7 d
1 J, D9 {0 f" D# ]
                两种解决方案(来源:http :1 i2 M- S* `) ?" \
//appsfr.free.fr/spip.php?article21):
6 r$ X" N( ^! OINSERT ALL
& e+ e% v, s& G$ @* SINTO table (column1, column2)
" L: Q! R& [& D3 i5 b/ _VALUES (value1, value2)# p) k1 H$ F2 a- T( c
INTO table (column1, column2)
0 ~) g/ f7 S+ nVALUES (value1, value2)
5 L8 ^& U2 w! j) ]1 v% d...etc...
! x0 M* X+ z: _; Q  ZSELECT * FROM DUAL ;* Y! d# Y" V+ s/ M' q
或者, \0 _$ k" G! e) k5 b
INSERT INTO table (column1, column2)
5 S% d2 x+ S! ?% x+ G7 QSELECT value1, value2 FROM DUAL UNION ALL1 Y: ?& p3 f3 w0 Q# I
SELECT value1, value2 FROM DUAL UNION ALL0 N8 D7 N, p) Z2 ]) j  A+ g5 J/ A
...etc...1 w$ T5 M: A/ P, C; h  b; J
SELECT value1, value2 FROM DUAL ;
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则