首頁 >資料庫 >SQL >刪除表格欄位的sql語句有哪些?

刪除表格欄位的sql語句有哪些?

coldplay.xixi
coldplay.xixi原創
2020-06-22 15:35:196396瀏覽

推薦教學:《mysql影片教學

#刪除表格欄位的sql語句有哪些?

刪除表格欄位的sql語句有:

1.刪除沒有預設值的欄位:

alter table Test drop COLUMN BazaarType

2.刪除有預設值的欄位:

先刪除約束(預設值)alter table Test DROP CONSTRAINT DF__Test__BazaarType__3C4ACB5F

(alter table Test DROP COLUMN BazaarType 提示報錯是DF__SheetTest__Attac__0F8D3381)

然後在刪除欄位 alter table Test DROP COLUMN BazaarType

#3.

ALTER TABLE 表名 ADD 字段名 INT  DEFAULT (0) NOT NULL;

修改主鍵欄位類型

alter table [tablename] alter column [colname] [newDataType])

修改某表的欄位類型時,會報錯是因為存在約束。 

a。將表格中的字段設為NOT NULL(不為空)、給字段增加Default值(預設值)這樣的操作都會為該字段添加約束,增加了這些約束後,在用SQL腳本修改字段類型、刪除字段的時候都會發生類似錯誤.  

b.尋找該欄位上已存在的約束,並刪除存在的約束.

c.再次執行修改/刪除腳本即可。

 解決方法:

1.找出表格中該欄位的約束名稱(或根據現有的提示及物件'DF__******' )

declare @name varchar(50)
select  @name =b.name from sysobjects b join syscolumns a on b.id = a.cdefault 
where a.id = object_id('TableName') 
and a.name ='ColumName'

2. 刪除存在的限制

exec('alter table TableName drop constraint ' + @name)

例如:exec('alter table T_tableName drop constraint  錯誤訊息的約束名稱' )

3. 再執行修改欄位類型的腳本即可

alter table dbo.T_tableName alter column Id BIGINT not NULL
alter table dbo.T_tableName add constraint PK_Id primary key(Id)

推薦相關文章:《sql資料庫技術文章

以上是刪除表格欄位的sql語句有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多