我有地址表,其中city字段有nvarchar数据类型,但我想将数据类型nvarchar更改为varchar。为此我写了剧本
ALTER TABLE Address ALTER COLUMN City varchar(50) null
但是当我执行此操作时,我收到了错误消息:
Msg 7614,Level 16,State 1,Line 1无法更改或删除列'City' 因为它已启用全文搜索。
那我怎么解决这个错误呢? 我对全文搜索一无所知。
答案 0 :(得分:2)
您可能在表上有一个全文索引,并且不允许您使用该索引更改列。
所以你可以尝试:
DROP FULLTEXT INDEX ON Address
然后尝试:
ALTER TABLE Address ALTER COLUMN City varchar(50) null
然后你必须看看索引包含什么并重新创建它
答案 1 :(得分:2)
在删除全文索引之前先检查全文索引的内容会更明智。
另外,您最好使用以下代码:
ALTER FULLTEXT INDEX ON tableName DROP (ColumnName)
这将仅删除该列的全文索引。