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

在“code”之前添加…alter table add?

  •  12
  • Hailwood  · 技术社区  · 14 年前

    更改表格 tada_prod . action_6_weekly 添加列 id member_id ;

    所以我想,把这个列作为我能做的第一列

    ALTER TABLE `tada_prod`.`action_6_weekly`     ADD COLUMN `id` INT NULL AUTO_INCREMENT UNIQUE BEFORE `code`;
    

    但我有个语法错误, 正确的语法是什么?

    3 回复  |  直到 14 年前
        1
  •  23
  •   Ben Hoffstein    14 年前
    ALTER TABLE `tada_prod`.`action_6_weekly`
    ADD COLUMN `id` INT NULL AUTO_INCREMENT UNIQUE FIRST;
    
        2
  •  10
  •   Iam Zesh    9 年前

    只能在特定字段之后添加列,也可以先添加列,而不能在特定字段之前添加列。 mysql查询add column after specific field为:
    ALTER TABLE table_name ADD COLUMN column_name VARCHAR(30) AFTER column_name

        3
  •  1
  •   mnrmon    10 年前

    alter table table_name ADD column_name VARCHAR(12) NOT NULL BEFORE specific_column_name;
    

    mySQL语法中不允许使用此命令。如果你用它,我想你会

    与您的MySQL服务器版本相对应的手册 在“第1行”消息中使用“before specific\u column\u name”附近的语法。

    ALTER TABLE table_name ADD column_name VARCHAR(12) NOT NULL FIRST;
    
        4
  •  0
  •   iCantC    3 年前

    延伸 @php 之前 是因为 BEFORE 可以很容易地实现使用 AFTER FIRST

    例如:

    比方说,最初您有一个关系模式,如

    +----------------------+
    | name | age | address |
    +----------------------+ 
    

    dob (出生日期) 就在之前 age ,但自从 之前 出生日期 就在比赛结束后 name

    +----------------------------+
    | name | dob | age | address |
    +----------------------------+ 
    

    但是如果您想在“name”之前插入一个新的列“id”呢?

    因为之前没有列 名称 我们不能使用 放置 id 列。为了解决这个问题,语言设计者引入了 第一 身份证件

    +---------------------------------+
    | id | name | dob | age | address |
    +---------------------------------+ 
    

    虽然我个人认为 之后 会是更直观的一对。