代码之家  ›  专栏  ›  技术社区  ›  RubenHerman

用于添加具有默认值的列的SQL Server查询

  •  1
  • RubenHerman  · 技术社区  · 6 年前

    我正试图通过将另一列添加到一个默认值为0的表中来更改我的SQL Server数据库。

    我原以为这个脚本在过去(对于另一个表)起作用,但现在我试图执行脚本时出错了

    剧本

    ALTER TABLE Whatever
    ADD WhateverColumn tinyint NOT NULL 
    DEFAULT(0)
    

    错误

    • 当鼠标悬停在“not”上时:“not”附近的语法不正确。期待“to”
    • 鼠标悬停在“0”上时:0附近的语法不正确。应为“(”,或选择

    有人知道这是怎么回事吗?

    4 回复  |  直到 6 年前
        1
  •  2
  •   Fahmi    6 年前

    试试这个:

    ALTER TABLE Whatever
    ADD WhateverColumn tinyint NOT NULL DEFAULT 0
    
        2
  •  1
  •   SammuelMiranda    6 年前

    也许你用来作为表名的“whatevercolumn”有未闭合的引号,甚至“whatevercolumn”(这两个都是你放在这里作为标记的,我知道了)我有这个问题,甚至“whatevercolumn”的实际名称是保留字?

        3
  •  0
  •   Singh Amarjeet James_D    6 年前


    @Sammuelmiranda刚才也问过同样的问题。如果使用保留关键字作为表名或列名也很重要。
    你可以检查这个链接 Add a column with a default value to an existing table in SQL Server

        4
  •  0
  •   RubenHerman    6 年前

    如我所料,将我的SQL Server Management Studio更新到17.8.1版解决了我的问题。
    在更新之后,我可以运行这个命令而没有任何问题。