You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

MS Access 2016执行CREATE TABLE语句时出现语法错误求助

排查MS Access 2016中CREATE TABLE语句的语法错误

我帮你排查下这个问题——MS Access的SQL语法和标准SQL确实有不少差异,你从W3School复制的标准SQL语句放到Access里跑不通,主要是数据类型不兼容,还有一些Access特有的语法要求:

核心问题分析

  • 数据类型不匹配:Access SQL里没有varchar这个类型,对应的文本类型是Text,长度格式是Text(255)而非varchar(255);另外标准SQL的int在Access里通常用Integer(对应32位整数范围),如果需要更大数值范围可以用Long Integer
  • 可选但建议的约束:如果PersonID是表的主键,Access里需要显式声明约束,自增字段也有专属的关键字AutoIncrement(不是标准SQL的AUTO_INCREMENT)。

修正后的SQL语句

基础版本(仅创建字段)

CREATE TABLE Persons (
    PersonID Integer,
    LastName Text(255),
    FirstName Text(255),
    Address Text(255),
    City Text(255)
);

带主键和自增的版本(更符合实际表设计)

如果PersonID需要作为自增主键,用这个版本:

CREATE TABLE Persons (
    PersonID AutoIncrement PRIMARY KEY,
    LastName Text(255),
    FirstName Text(255),
    Address Text(255),
    City Text(255)
);

额外排查技巧

如果之后再遇到类似语法问题,可以试试Access的查询设计视图:先通过图形化界面创建表,然后切换到「SQL视图」查看Access自动生成的SQL语句,对比自己的写法就能快速找到差异点。

内容的提问来源于stack exchange,提问作者Nitesh Tyagi

火山引擎 最新活动