回答

收藏

在sqlite新列插入表中?

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

我有一列表name,qty,rate。现在,我需要它COLNew在name和qty在列之间添加新列。如何在两列之间添加新列?4 L. @' B4 l( x
                                                               
! d7 ]2 P" E% c1 w  C    解决方案:                                                                - z# o1 e7 z6 C  w) b" B# l  `
                                                                你有两个选择。首先,您可以简单地添加带有以下内容的新列:
, M2 o/ I3 [2 i- I' h) |' x8 FALTER TABLE {tableName} ADD COLUMN COLNew {type};其次,更复杂的是,它实际上会被列在所需的位置,这将是一个重命名表:
# A5 I9 k0 `4 N0 M  |ALTER TABLE {tableName} RENAME TO TempOldTable;然后用缺失的列创建新表:
! x0 K6 z1 K8 ]: c% ZCREATE TABLE {tableName} (name TEXT,COLNew {type} DEFAULT {defaultValue},qty INTEGER,rate REAL);并用旧数据填充:
0 v" b- X9 n# C! o9 U' \INSERT INTO {tableName} (name,qty,rate) SELECT name,qty,rate FROM TempOldTable;然后删除旧表:1 j" @5 g1 F" h
DROP TABLE TempOldTable;我更喜欢第二个选项,因为它可以让你在需要时完全重新命名所有内容。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则