我桌子的结构:
id int AUTO_INCREMENT PRIMARY KEY
title text
url text
age int
以下是我尝试将数据保存到此表中的方法:
PreparedStatement ps=con.prepareStatement("insert into table(title, url, age) values ('\"+title+\",\"+url+\",\"+age+\"')");
System.out.println("Connected database successfully..");
ps.executeUpdate();
但是当我运行应用程序时,我得到了
java.sql.SQLException: Column count doesn’t match value count at row 1
我猜问题可能在id列中,如何解决?
解决方法:
问题不在于id列.
从声明看起来,您在所有列周围都有引号.因此,在SQL中,您只有一列
'"title","url","age"'
你可能想要的是
"insert into table(title, url, age) values ('" + title + "','" + url + "'," + age + ")"
甚至更好,因为它是一份准备好的声明
"insert into table(title, url, age) values (?, ?, ?)"