code: func buildColumnAndConstraint(ctx sessionctx.Context, offset int,
  	colDef *ast.ColumnDef, outPriKeyConstraint *ast.Constraint, tblCharset, dbCharset string) (*table.Column, []*ast.Constraint, error) {
  	if err := setCharsetCollationFlenDecimal(colDef.Tp, tblCharset, dbCharset); err != nil {
  		return nil, nil, errors.Trace(err)
  	}
  	col, cts, err := columnDefToCol(ctx, offset, colDef, outPriKeyConstraint)
  	if err != nil {
  		return nil, nil, errors.Trace(err)
  	}
  	return col, cts, nil
  }
docs: // outPriKeyConstraint is the primary key constraint out of column definition. such as: create table t1 (id int , age int, primary key(id));