我正在尝试使用JAVA在Vertica中创建表模型(i,y1,y2 .... yd)。第i列是整数,其他所有列均为REAL。我使用以下代码创建它。但是,它显示语法错误为null或接近null。有人知道这意味着什么吗?该连接适用于该程序。

 public void createMODEL(int d)
     {
         int x;
         try
     {

        Statement stmt = conn.createStatement();
        String createquery = "CREATE TABLE MODEL ( "
                            + "i integer primary key ";
        for (x=1;x<=d;x++) createquery+=  " , " + Y[x] + " REAL ";
        createquery += ")";
        stmt.executeUpdate(createquery);
     }
     catch (Exception e)
     {
        System.out.println("Error while executing create model query");
        System.out.print(e);
        System.exit(0);

     }

 }


Y定义如下-

String Y[]=new String[100];

最佳答案

我猜您应该检查Y[x]是否不为null:

Statement stmt = conn.createStatement();
String createquery = "CREATE TABLE MODEL ( "
                            + "i integer primary key ";
for (x=1;x<=d;x++)  {
    if (Y[x] != null)  createquery+=  " , " + Y[x] + " REAL ";
}
createquery += ")";
stmt.executeUpdate(createquery);

08-18 16:36