回答

收藏

如何在具有唯一ID的SQLite中插入重复的行?

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

这似乎很简单:我想在SQLite表中复制一行:
2 k/ g1 ^4 z8 W( {* OINSERT INTO table SELECT * FROM table WHERE rowId=5;5 F3 F4 D% r$ L5 Z1 y7 ~
如果没有显式的唯一列声明,则该语句将起作用,但是将声明表的第一列rowID INTEGER NOT NULL PRIMARY2 c( @, F) x  G  X& ^
KEY。有什么方法可以创建一个简单的语句,而上面的语句在不知道表模式的情况下起作用(除了第一列)?
4 ]" |) M% |5 ?4 h               
# j% D. F2 G2 T6 A解决方案:
! I' `% u! B4 c1 B1 h1 `  E                ( Y* z& Q) P! E
2 c( b7 Q- @# n$ z2 P
( q  O* v% o4 E% F
                好吧,由于无法按照我想要的方式执行此操作,因此我使用了隐式行ID,该ID与我显式定义的rowId列的名称相同,因此现在可以使用问题中使用的查询了。
9 v; L/ a# `+ [. i/ T8 t,它将使用新的rowId插入所有数据。为了使程序的其余部分正常工作,我更改SELECT * FROM table为SELECT rowId,*) G9 x2 ~" v  W& k& N8 B1 Y' O
FROM table,一切都很好。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则