搜尋此網誌

2022年10月7日 星期五

Window SQL Server 擴欄位

緣起:


    今天在幫我們的專案做社群平台同步發文的功能,成功把那些 API Key 之類的存到我新增的表格中,再來要做的是在記錄系統模組的那張表格裡加個新欄位,用來識別同步發文的功能是否開啟。我之前都沒做過 "擴欄位" 這個操作,雖然聽我長官說,在測試機上弄壞資料庫不算是什麼問題,但我行事比較保守,所以還是先在自己的電腦上練看看。

    這篇記錄擴欄位的操作


擴欄位:


    這種事情大概打個指令,然後按 Enter 送出後就完成了,我看的教學在這,再來打開我的資料庫,剛好有張之前練習用的表格,叫 Customer

長這樣

    裡面也有些資料


    再來我們試著輸入指令,把欄位給加入,我們看一下別人的回答,我挑個比較好懂的


    根據我的理解,ADD 後面是你要加的欄位的名字,再來是它的型態(int、nvarchar...),然後可以選擇是 NULL 或 NOT NULL,代表那個欄位能不能是空的,如果是 NULL 的話,現存資料的新增列都會是 NULL,如果是 NOT NULL 的話,後面要再加個 DEFAULT(值),讓現存資料都有個預設的值。

指令

執行後結果


刪欄位:


    我本來有再接著試 DEFAULT(值),新增一個有預設值的欄位,但我的指令忘了加 NOT NULL,所以導致新增的欄位預設還是 NULL。


    所以我就要把那個 TestColumn2 砍掉,去查了資料後,找到砍欄位的指令是這樣


    我照著輸入指令後,卻出現錯誤


    嗯....,這個東西在我找資料時好像有看過,是一個叫 Constraint 的東西,你在更動表格欄位時會加入


    如果你沒有設定 Constraint 的名字,Sql Server 會自動幫你設。Constraint 可以在資料表的條件約束那邊找到


    對它點選右鍵會出現選單,可以對它做編輯之類的事,我是直接刪除它,刪除後再使用一次砍掉欄位的指令,這次就成功砍掉了


    最後,輸入增加有預設值欄位的指令(正確的)


    成功 ~~~~








沒有留言:

張貼留言