你好,我是使用Visual Studio 2015年 构建数据库,但有一些错误打断了我的工作如何在列上创建全文索引,没有错误
这里是我的表查询:
CREATE TABLE [dbo].[Post] (
[Id] INT NOT NULL,
[job_desc] NTEXT NOT NULL,
[UID] INT NOT NULL,
[TheWork] NVARCHAR(50) NOT NULL,
[Photo_Of_Work_1] NCHAR (50) DEFAULT ('W_No_Pho') NULL,
[Photo_Of_Work_2] NCHAR (50) DEFAULT ('W_No_Pho') NULL,
[Photo_Of_Work_3] NCHAR (50) DEFAULT ('W_No_Pho') NULL,
[DT] DATETIME NOT NULL,
[Salary] MONEY NULL,
PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_Post_ToPerson] FOREIGN KEY ([UID]) REFERENCES [dbo].[Person] ([Id])
);
所以我有job_desc
柱哪种类型ntext
所以我不能使用普通的索引上,所以我不得不使用full-text-index
,我在这里有这样的代码:
GO
CREATE UNIQUE INDEX jdui ON [Post] ([job_desc]);
GO
CREATE FULLTEXT CATALOG ftc AS DEFAULT;
GO
CREATE FULLTEXT INDEX ON [dbo].[Post] ([Job_Desc]) KEY INDEX jdui ON ftc WITH CHANGE_TRACKING AUTO
,但我真的不知道为什么发生错误时我每次更新, ,这是错误的语法:
消息SQL00000创建[DBO] [发表] [jdui]。 ..错误SQL72014 .Net SqlClient数据提供程序:消息1919年级别16状态1行1列 表'dbo.Post'中的'job_desc'是一种类型,无效用作 中的键列指数。错误SQL72045脚本执行错误。 执行脚本:CREATE UNIQUE NONCLUSTERED INDEX [jdui] ON [dbo]。[Post]([job_desc] ASC);
消息SQL00000正在执行批处理时发生错误。
所以任何人都可以帮我这个
这是更好/更快的全文索引或正常索引与查询: '选择job_desc从其中job_desc像%最好%' 例如:让它成为** sql server是最好的**如果我要搜索每个 **此列中的最佳**字 –
您必须在表中的任何列上都有唯一键,而不一定要在要创建全文索引的列上,此键是由全文用于在表中进行查找。您可以在ID列上创建唯一索引,并将FT放在具有索引兼容数据类型的任何列上。 –
我试过这个: 'GO CREATE UNIQUE INDEX jid ON [Post]([Id]); GO CREATE FULLTEXT CATALOG ftc AS DEFAULT; GO CREATE FULLTEXT INDEX ON [dbo]。[Post]([job_desc])KEY INDEX jid ON ftc WITH CHANGE_TRACKING AUTO ' –