【 使用环境 】测试环境 
【 OB or 其他组件 】oceanbase 
【 使用版本 】3.2.2 
【问题描述】该版本不支持“alter table testtable modify column test1 varchar(10) after test2”和“alter table testtable change column test1 varchar(10) after test2”这两种写法。求一个可以的sql语句。
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手 ] 即可召唤小助手,欢迎试用!
         
         
           
        
            
            
            
         
         
             
             
          
       
      
        
          
          
            论坛小助手  
            
           
           
          
              
                2024 年9 月 27 日 10:10
               
               
          #3 
           
         
        
          您的问题可能存在误解,实际上据我所知在 OceanBase 3.2.2 版本中,确实不直接支持使用 ALTER TABLE ... MODIFY COLUMN ... AFTER 或 ALTER TABLE ... CHANGE COLUMN ... AFTER 语法来改变字段的顺序。这是因为 MySQL 早期版本也不支持直接通过 AFTER 关键字来调整字段顺序,而 OceanBase 在一定程度上遵循了 MySQL 的语法规范。
为了调整字段顺序,您可以采用以下步骤间接实现:
创建一个新的表 ,包含原有表的所有字段以及您希望调整顺序的新字段位置。 
插入数据 ,将旧表的数据迁移到新表中。 
删除旧表 ,并将新表重命名为旧表的名字。 
 
这里有一个示例 SQL 脚本,展示如何将 test1 字段移动到 test2 字段之后:
-- 假设原表名为 testtable, 包含字段 test1, test2, test3...
CREATE TABLE new_testtable (
    -- 复制所有字段定义
    test2 VARCHAR(20),
    test1 VARCHAR(10),
    test3 VARCHAR(30),
    -- 其他字段...
    -- 注意这里改变了 test1 的位置
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 将数据从旧表导入新表
INSERT INTO new_testtable (test1, test2, test3, ...) SELECT test1, test2, test3, ... FROM testtable;
-- 删除旧表
DROP TABLE testtable;
-- 将新表重命名
RENAME TABLE new_testtable TO testtable;
 
请注意,以上操作可能会导致表锁,影响在线业务,因此建议在业务低峰期执行,并确保有足够的磁盘空间来存储临时表。 [1] 
如果您有更具体的需求或者遇到其他问题,请提供更多细节以便于进一步的帮助。
具体信息可参考以下文档:
What’s New  
字符集规范  
字符序  
 
         
         
        
            
            
            
         
         
             
             
          
       
      
        
          
          
            淇铭  
            
           
           
          
              
                2024 年9 月 27 日 10:55
               
               
          #4 
           
         
        
          这个确实不支持 不过论坛小助手提供的方案 还确实是可行的
         
         
        
            
            
            
         
         
             
             
          
       
      
        
          
          
            辞霜  
            
           
           
          
              
                2024 年10 月 9 日 17:54
               
               
          #5 
           
         
        
          322是企业版,企业版与社区版存在部分差异详细还是咨询企业工单同学吧。