关于列排序

最后更新:2023-12-27 05:30:05 | 状态:未完成
注意以下只有在MySQL系的数据库中起作用,否则会被忽略
Table table = service.metadata().table(catalog, schema, this.table);
if(null != table){
	service.ddl().drop(table);
}
table = new Table(this.table);
table.addColumn("C2","INT").setPosition(2);
table.addColumn("C1","INT").setPosition(1);
table.addColumn("C3", "int").setPosition(3);
table.addColumn("C", "int"); //没有设置排最后
// C1 C2 C3 C
service.ddl().create(table);

table = new Table(this.table);
//改成C1 C3 C C2
//排序主要取决于位置最小的那一列,其他列一次排序
//position只用来排序已知的列, 只有未设置after,before时0才表示首位
table.addColumn("C3", "int").setPosition(0).setAfter("C1");
table.addColumn("C", "int").setPosition(1); //没有设置排最后
table.sort();
service.ddl().save(table);
table = service.metadata().table(this.table);
LinkedHashMap<String, Column> columns = table.getColumns();
for(Column c:columns.values()){
	System.out.println(c.getName());
}
最近更新 搜索 提交