gpt4 book ai didi

java - 我创建了一个表,但在向其中插入值时出错

转载 作者:行者123 更新时间:2023-11-29 04:40:42 25 4
gpt4 key购买 nike

我创建了一个表,但在向其中插入值时出现错误。此处在执行插入操作时,a[] 是我传递给函数的字符串数组。我收到以下错误:

列计数与第 1 行的值计数不匹配

这是我的代码:

 try
{
String tablename=c+d;
String ab="";

for(int i=1 ; i<=k ; i++)
{
ab =ab+"column"+i+" VARCHAR(255),";
}
//establish connection to database

connection = DriverManager.getConnection(DATABASE_URL,"root","rohma");
statement = connection.createStatement();

//resultSet = statement.executeQuery("SELECT idactors,firstname,lastname FROM actors");

String sql ="CREATE TABLE " + tablename + "(id INTEGER not NULL AUTO_INCREMENT, " + ab + " PRIMARY KEY ( id ))";
statement.executeUpdate(sql);

int ki=0;
//
String abv ="";
String tv="";
int gk =1;
for(int i =0 ; i<k ;i++)
{
// colum shows i and j shows fieds insertion
for(int j=0 ; j<p ; j++)
{
if(j<p-1)
{
abv =abv +"'"+a[ki]+"'"+"," ;
ki++;
}
else
{
abv =abv +"'"+a[ki]+"'";
ki++;
}
}
tv ="INSERT INTO `abc`.`"+tablename+"` (`column "+gk+"`) VALUES ("+abv+")";
gk++;
statement.executeUpdate(tv);
}

}

最佳答案

您创建列名称:

ab =ab+"column"+i+" VARCHAR(255),";

但是当您执行插入时,代码中的单词列后有一个空格:

INSERT INTO `abc`.`"+tablename+"` (`column "+gk+"`)

它应该是这样的:

INSERT INTO `abc`.`"+tablename+"` (`column"+gk+"`)

您可以在创建表时和执行 SQL 之前添加打印输出,以确保列的数量与插入 VALUES 的数量相同。还要确保插入的列与创建的列相同。

关于java - 我创建了一个表,但在向其中插入值时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29656979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com