You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server建表语法错误求助:疑似IDENTITY关键字冲突问题

问题排查与解决

你的判断完全正确,identity是SQL Server的保留关键字,直接作为表名使用会触发语法错误。除此之外,你的SQL语句里还存在两个SQL Server不支持的数据类型,一并修正如下:

修正后的完整建表语句

CREATE TABLE [identity] (
    empid VARCHAR(255) PRIMARY KEY,
    entry VARCHAR(255)
);

-- Table: vectors
CREATE TABLE vectors (
    f_id   INTEGER PRIMARY KEY IDENTITY(1,1),
    label  VARCHAR(255)  NOT NULL,
    empid  VARCHAR(255)  REFERENCES [identity] (empid) 
                   NOT NULL,
    vector VARBINARY(MAX)    NOT NULL
);

关键修改点说明

  • 关键字转义:用方括号[identity]包裹表名,避免与SQL Server保留关键字冲突。你也可以使用双引号(需先执行SET QUOTED_IDENTIFIER ON;),但方括号是SQL Server通用的标识符转义方式。
  • 数据类型修正:
    • SQL Server不支持STRING类型,替换为标准字符类型VARCHAR(255)(若需存储Unicode字符,可改用NVARCHAR(255))。
    • SQL Server没有BLOB类型,存储二进制大对象需使用VARBINARY(MAX)。
  • 外键引用一致性:外键关联时,同样需要用[identity]指定被引用表名。

内容的提问来源于stack exchange,提问作者Mr. Fractals

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 19:45:39