--需求有變,需要往t_login表的f_userName字段添加外國人名,之前設置的varchar(10)不夠,商議決定改成varchar(30),執行的時候,提示消息 索引'uq_f_userName' 依賴於 列'f_userName'。由於一個或多個對象訪問此列,ALTER TABLE ALTER COLUMN f_userName 失敗。
--原來,之前為了防止f_userName重復,添加了唯一索引uq_f_userName。
--進行如下操作后,問題妥妥解決
--表名:t_login(登錄表)
--字段:f_userName(用戶名)
--執行要求:把f_userName長度由varchar(10)修改成varchar(30)
--語法格式
--刪除之前的索引
drop index uq_f_userName on t_login
go
--修改字段長度
alter table t_login alter column f_userName varchar(30)
go
--重新創建索引
create unique nonclustered index [uq_f_userName] on [dbo].[t_login]
(
[f_userName] asc
)
--索引不存在的時候才創建
where ([f_userName] is not null)
--這是Sql Server一系列的索引,自行補腦:https://msdn.microsoft.com/zh-cn/library/ms188388.aspx
with (pad_index = off, statistics_norecompute = off, sort_in_tempdb = off, ignore_dup_key = off, drop_existing = off, online = off, allow_row_locks = on, allow_page_locks = on)
go