o.a.s.ml
我正在尝试使用for (int i = 1; i < columnCount + 1; i++ )
{
if ( i > 1 ) sb.append( ", " );
String colname=rsmetadata.getColumnName(i);
String datatype=rsmetadata.getColumnTypeName(i);
int sizedata=rsmetadata.getColumnDisplaySize(i);
//System.out.println("column is "+colname+"#"+datatype+"#"+sizedata);
sb.append(colname).append(" ").append(datatype);
int precision = rsmetadata.getPrecision(i);
if ( precision != 0 )
{
sb.append( "( " ).append( precision ).append( " )" );
}
//System.out.println(rsmetadata.getColumnTypeName(i));
//System.out.println(rsmetadata.getColumnDisplaySize(i));
}
元数据在MySQL中创建一个表。但是当我执行语句时,我收到了一个错误:
异常isjava.sql.SQLSyntaxErrorException:为'date_time'指定的精度太大19。最高为6。
答案 0 :(得分:0)
看起来您在timestamp
字段上指定了精度值。根据{{3}},你真的无法做到这一点。我建议在那里放一个条件语句,以检查该字段是否为时间戳字段,并避免使用精度设置。