SQLite復(fù)雜表的更新方式

SQLite復(fù)雜表的更新方式

在SQLite中,如果早期設(shè)計(jì)的表無法滿足需要,就需要對(duì)表進(jìn)行更新,如修改名字、添加列。如果針對(duì)簡(jiǎn)單表,修改起來相對(duì)容易,直接使用提供的ALTER命令即可。但是如果該表與視圖、觸發(fā)器、索引有關(guān)聯(lián),處理起來就相對(duì)繁瑣一些。下面講解這類表的修改方式。

(1)使用以下命令,備份視圖、觸發(fā)器的SQL腳本。

SELECT ?sql FROM ?main.sqlite_master WHERE type='view' or type='trigger'

(2)關(guān)閉外鍵約束。

PRAGMA foreign_keys=OFF

(3)刪掉關(guān)聯(lián)的視圖、觸發(fā)器和觸發(fā)器。

DROP 視圖名

DROP 觸發(fā)器名

DROP 索引名

(4)打開外鍵約束。

PRAGMA foreign_keys=ON

(5)修改表結(jié)構(gòu)。

(6)修改備份的視圖、觸發(fā)器SQL腳本,并重新構(gòu)建對(duì)應(yīng)的視圖和觸發(fā)器。重新構(gòu)建索引。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 官網(wǎng):http://www.sqlite.org/lang.html (他人的中文翻譯http://blog.cs...
    liboxiang閱讀 4,074評(píng)論 0 6
  • 前言 上一篇我們研究了,sqlite數(shù)據(jù)庫在安卓中的使用,今天我們研究在window客戶端的使用。這篇文章是參考了...
    yzzCool閱讀 2,176評(píng)論 1 4
  • 這個(gè)SQLite快速入門教程教你如何有效地開始學(xué)習(xí)并使用SQLite。通過本教程的實(shí)踐操作學(xué)習(xí)之后,相信你應(yīng)該可以...
    易百教程閱讀 36,623評(píng)論 1 67
  • 隨著app信息量越來越大,每次從網(wǎng)絡(luò)獲取數(shù)據(jù)已經(jīng)不是很可取的方案了,本地?cái)?shù)據(jù)庫的運(yùn)用已經(jīng)越來越普遍了。而說道移動(dòng)端...
    taosiyu閱讀 4,810評(píng)論 12 13
  • 說明 本文是作者Lefe所創(chuàng),轉(zhuǎn)載請(qǐng)注明出處,如果你在閱讀的時(shí)候發(fā)現(xiàn)問題歡迎一起討論。本文會(huì)不斷更新。 正文 對(duì)于...
    Lefe閱讀 4,285評(píng)論 1 18

友情鏈接更多精彩內(nèi)容