【问题标题】:Invalid option specified in CREATE INDEX statementCREATE INDEX 语句中指定的选项无效
【发布时间】:2012-01-23 21:43:26
【问题描述】:

我正在尝试使用 SQLCE 创建一个应该忽略任何重复值的表。为此,我想我会选择一个列作为索引并使用IGNORE_DUP_KEYoption。当我运行下面的代码时:

CREATE NONCLUSTERED INDEX url_index ON Person (url ASC) WITH (IGNORE_DUP_KEY=ON)

我收到一条错误消息,提示“CREATE INDEX 语句中指定的选项无效。[选项名称 = IGNORE_DUP_KEY]。”

这是因为我使用的是 SQLCE 吗?如果是这样,我怎样才能忽略 SQLCE 中的重复项?

【问题讨论】:

    标签: c# sql indexing sql-server-ce


    【解决方案1】:

    在 SQL Server CE 中,CREATE INDEX 的唯一有效 with 语句是 STATISTICS_NORECOMPUTE

    【讨论】:

    • 我不相信这在 CE 中是可能的。但是,您只是创建一个索引,而不是唯一索引,因此您不必担心重复。
    • 它原本是独一无二的,但我认为这是导致错误的“独特”方面。我需要索引是唯一的,所以如果插入重复,它应该被忽略。
    • @Skoder:恐怕在这种情况下,您唯一的选择是添加 SQL 来测试这种情况,如果指定的值已经存在于该列中(或清除),则不执行插入或更新值,取决于业务逻辑)。
    • 谢谢,我会直接在SQL语句中移动检查。
    猜你喜欢
    • 2021-01-30
    • 1970-01-01
    • 2012-09-22
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多