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

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

coldplay.xixi
coldplay.xixi原創
2020-07-03 16:20:4815401瀏覽

刪除表中欄位的sql語句有:1、刪除沒有預設值的列【alter table Test drop COLUMN BazaarType】;2、刪除有預設值的列,【alter table Test DROP COLUMN BazaarType】。

刪除表格中欄位的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])


##修改主鍵欄位類型

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'

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

a. 將表格中的欄位設為

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

b.查找該字段上已存在的約束,並刪除存在的約束.
###c.再次執行修改/刪除腳本即可。 ######### 解決方法:#########1.找出表格中該欄位的約束名稱(或根據現有的提示及物件'DF__******' )###
exec('alter table TableName drop constraint ' + @name)
###2. 刪除存在的限制###
exec('alter table T_tableName drop constraint  报错信息的约束名' )
###例如:###
alter table dbo.T_tableName alter column Id BIGINT not NULL
alter table dbo.T_tableName add constraint PK_Id primary key(Id)
###3. 再執行修改欄位類型的腳本即可###rrreee###### #相關學習推薦:###SQL影片教學#########

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

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