程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> SQLite如何刪除,修改、重命名列

SQLite如何刪除,修改、重命名列

編輯:MySQL綜合教程

 

今天在SQLite數據庫中添加了一列,後來發現列名寫錯了,於是使用SQL語句來修改列名,可是根本不管用。

首先,請放棄alter吧。

sqlite官方說明如下:

SQLite supports a limited subset of ALTER TABLE. The ALTER TABLE command in SQLite allows the user to rename a table or to add a new column to an existing table. It is not possible to rename a column, remove a column, or add or remove constraints from a table.

大概意思是sqlite的alter功能只是alter table的一個子集,只有部分功能,比如重命名表名,新增列到現有表中。

不支持現有列的重命名,刪除和修改。

查了N多資料,貌似只能通過一種間接的辦法去做了,不管是重命名列還是刪除列。

比如說你要修改的表名是A,方法步驟如下:

1.新建一個臨時表T,這個T和表A具有相同的列。

2.把A中所有的數據都通過insert語句插入到T中

3.刪除表A

4.新建表A,這時表A的列名就是你想要的結果,以前想修改的列名是什麼,這時候就定義成什麼,以前要刪除的某個列,那麼在定義的時候就不定義它。

5.恢復數據,把數據通過insert語句插入A,結構是insert into A select ... from tablen T

6.刪除臨時表T。

這個辦法太笨拙了,但是目前還沒有更好的辦法啊,啊,啊,啊,啊,啊,啊 ,啊, 啊, 啊,啊, 啊,

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved