比如这个怎么改alter table `pim_department` add  ( `ownerufid2` varchar(32) DEFAULT NULL COMMENT '所有者id',
  `deptDesc2` varchar(1024) DEFAULT NULL COMMENT '部门描述',
  `deptLevel2` varchar(2) DEFAULT NULL COMMENT '部门等级'
  ) after `orgType`;

解决方案 »

  1.   

    ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
        alter_specification [, alter_specification] ...alter_specification:
        table_options
      | ADD [COLUMN] col_name column_definition
            [FIRST | AFTER col_name ]
      | ADD [COLUMN] (col_name column_definition,...)
      | ADD {INDEX|KEY} [index_name]
            [index_type] (index_col_name,...) [index_option] ...
    ....
    很显然从语法上看,要么 ADD [COLUMN] col_name column_definition  [FIRST | AFTER col_name ]
    要么,ADD [COLUMN] (col_name column_definition,...)加多个列的时候,无法  [FIRST | AFTER col_name ]
      

  2.   

    增加列后,用CREATE TABLE AS SELECT F1,F2
      

  3.   

    增加列后??
    现在的问题是如何在某列后增加多列,难道跟chm说得一样,mysql没有这个功能吗?
      

  4.   

    没有, 增加后,用SELECT AS调整
      

  5.   

    分三次就可以了阿!alter table `pim_department` add `deptLevel2` varchar(2) DEFAULT NULL COMMENT '部门等级'  after `orgType`;
    alter table `pim_department` add  `deptDesc2` varchar(1024) DEFAULT NULL COMMENT '部门描述' after `orgType`;
    alter table `pim_department` add  `ownerufid2` varchar(32) DEFAULT NULL COMMENT '所有者id' after `orgType`;
      

  6.   

    颠倒一下字段的顺序就可以alter table `pim_department` add `deptLevel2` varchar(2) DEFAULT NULL COMMENT '部门等级'  after `orgType`,
    add  `deptDesc2` varchar(1024) DEFAULT NULL COMMENT '部门描述' after `orgType`,
    add  `ownerufid2` varchar(32) DEFAULT NULL COMMENT '所有者id' after `orgType`;