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

ACCESS中能否通过CREATE TABLE语句为表列添加描述?

在CREATE TABLE语句中添加列描述的可行性

能不能在CREATE TABLE时直接给列加描述,完全取决于你使用的数据库——因为SQL标准里并没有定义COMMENT或DESCRIPTION这类语法,都是各数据库厂商的扩展功能。

以下是主流数据库的具体实现方式:

  • MySQL/MariaDB:支持在CREATE TABLE时直接给列加COMMENT,你写的示例语法是正确的,注意COMMENT要放在列定义的最后:

    CREATE TABLE Table1 (
        Field1 VARCHAR(250) NOT NULL UNIQUE,
        Field2 VARCHAR(250) NOT NULL COMMENT 'Test It'
    );
    

    如果执行失败,优先检查语法顺序是否正确,低版本MySQL基本也支持该语法。

  • PostgreSQL:不支持在CREATE TABLE里直接加列描述,必须建表后单独执行COMMENT ON COLUMN语句:

    CREATE TABLE Table1 (
        Field1 VARCHAR(250) NOT NULL UNIQUE,
        Field2 VARCHAR(250) NOT NULL
    );
    COMMENT ON COLUMN Table1.Field2 IS 'Test It';
    
  • SQL Server:同样不能在CREATE TABLE时直接添加,需要用系统存储过程sp_addextendedproperty来补充列描述:

    CREATE TABLE Table1 (
        Field1 VARCHAR(250) NOT NULL UNIQUE,
        Field2 VARCHAR(250) NOT NULL
    );
    EXEC sp_addextendedproperty 
        @name=N'MS_Description', 
        @value=N'Test It', 
        @level0type=N'SCHEMA',@level0name=N'dbo', 
        @level1type=N'TABLE',@level1name=N'Table1', 
        @level2type=N'COLUMN',@level2name=N'Field2';
    
  • Oracle:标准做法是建表后执行COMMENT ON COLUMN语句,12c及以上版本也支持在CREATE TABLE时内嵌COMMENT(但兼容性不如单独执行的写法):

    -- 传统兼容写法
    CREATE TABLE Table1 (
        Field1 VARCHAR2(250) NOT NULL UNIQUE,
        Field2 VARCHAR2(250) NOT NULL
    );
    COMMENT ON COLUMN Table1.Field2 IS 'Test It';
    
    -- 12c+内嵌写法
    CREATE TABLE Table1 (
        Field1 VARCHAR2(250) NOT NULL UNIQUE,
        Field2 VARCHAR2(250) NOT NULL COMMENT 'Test It'
    );
    

你提到见过COMMENT作为数据类型的用法,大概率是混淆了其他语法片段——没有主流数据库会把COMMENT作为数据类型,可能是看到包含COMMENT的复杂语句时产生了误解。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 03:52:19