2 回答

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊
sqlite數(shù)據(jù)庫中數(shù)據(jù)類型存在sqlite_master表中
select sql from sqlite_master where tb_name='tbname'
把這條sql語句改了,表結(jié)構(gòu)就改了。
sqlite的alter table限制很多,所以一般直接把原表改名。
復(fù)制一個(gè)表名與原表一樣的,再把改名后的那個(gè)原表刪了,以下sql語句可以用。
新表改完字段類型如果不兼容原表,新表中的該字段數(shù)據(jù)讀不出。
所以要改類型可以不用聲明字段類型
begin
alter table zb RENAME TO tempxxx_1
create table zb(rkdh char(15) ,gbdh char(15) ,cph nchar(9) )
INSERT INTO zb(rkdh,gbdh,cph,) select rkdh,gbdh,cph FROM tempxxx_1
drop table tempXXX_1
commit

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
名字,也可向表中增加一個(gè)字段(列),但是我們不能刪除一個(gè)已經(jīng)存在的字段,或者更改一個(gè)已經(jīng)存在的字段的名稱、數(shù)據(jù)類型、限定符等等。
改變表名 - ALTER TABLE 舊表名 RENAME TO 新表名
增加一列 - ALTER TABLE 表名 ADD COLUMN 列名 數(shù)據(jù)類型 限定符
- 2 回答
- 0 關(guān)注
- 1548 瀏覽
添加回答
舉報(bào)