共計 1279 個字符,預計需要花費 4 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章主要介紹數據庫中刪除表中字段的 sql 語句有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
刪除表中字段的 sql 語句有:1、刪除沒有默認值的列【alter table Test drop COLUMN BazaarType】;2、刪除有默認值的列,【alter table Test DROP COLUMN BazaarType】。
刪除表中字段的 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 語句有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!
向 AI 問一下細節