回答

收藏

使用增量主键sql插入多行

技术问答 技术问答 295 人阅读 | 0 人回复 | 2023-09-14

INSERT INTO TABLE1 (COLUMN1,PRIMARY_KEY)   SELECT       COLUMN      (SELECT COALESCE(MAX(PRIMARY_KEY),0)          FROM TABLE1) 1) 1      FROM       TABLE2错误:+ U2 I$ q+ [& z' r8 [
违反主键约束。重复密钥不能插入对象。) n7 v" F4 ?% g5 t5 X
如何增加第一行后的主键?6 F. Q& w" D+ H4 U
我希望同时向此表添加项目列表,而不是插入它RBAR。
: Z; f. v; M1 l& l; r谢谢你的帮助
% P2 g+ T( K+ K4 n                                                               
+ s' |! P' X, p4 a0 l    解决方案:                                                               
3 ^( \8 }' B( ~1 ]! q- ^                                                                INSERT INTO TABLE1 (COLUMN1,PRIMARY_KEY)SELECT COLUMN       (SELECT COALESCE(MAX(PRIMARY_KEY),        FROM TABLE1)   row_number() over (order by 1/0)FROM TABLE 2仅对这句话,ID将是顺序的,例如,如果IDMax(PrimaryKey)为99,并插入4个记录,则ID100、101、102、103。如果同时插入多个过程,很容易违反约束,但这并不意味着这比使用单个记录要好MAX()本质上是不安全的。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则