我试图在我的表列中创建全文索引,但它给了我错误。
我的查询如下:
create table products
(
p_id int primary key,
p_name varchar(50),
)
insert into products values(1,'Sugar')
insert into products values(2,'Tea')
insert into products values(3,'Flour')
insert into products values(5,'Soap')
create index pname on products(p_name)
select * from products
create fulltext catalog product as default
create fulltext index on products(p_name) key index pname on product
它给出了这个错误:
Msg 7653,Level 16,State 2,Line 1'pname'不是有效的索引 强制执行全文搜索键。全文搜索键必须是a 不是脱机的唯一,不可为空的单列索引 在非确定性或不精确的非持久计算上定义 列,没有过滤器,最大大小为900字节。 为全文键选择另一个索引。
答案 0 :(得分:3)
您应该为PRIMARY KEY命名,并在最后一个声明中将其用作KEY INDEX。
create table products
(
p_id int CONSTRAINT [PK_products] PRIMARY KEY,
p_name varchar(50),
)
....
create fulltext index on products(p_name) key index PK_products on product
是table_name上唯一键索引的名称。 KEY INDEX必须是唯一的,单键,不可为空的列。选择全文唯一键的最小唯一键索引。为获得最佳性能,我们建议使用全文密钥的整数数据类型。