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

r6hnlfcb  于 2021-06-21  发布在  Mysql
关注(0)|答案(3)|浏览(550)

这个问题在这里已经有答案了

列计数与第1行的值计数不匹配(5个答案)
两年前关门了。 String query = "INSERT INTO 用户 ( 内景 , 文件名 , 名字 , 年龄 , 斯奈姆 , B名称 ) VALUES ('"+jTextField_FirstName.getText()+"','"+jTextField_LastName.getText()+"',"+jTextField_Age.getText()+",'"+jTextField_SName.getText()+"','"+jTextField_BName.getText()+"')"; 下面是stacktrace:

java.sql.SQLException: Column count doesn't match value count at row 1 at     
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) at 
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976) at    
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912) at     
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) at 
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) at  
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2482) at 
com.mysql.jdbc.StatementImpl.executeUpdateInternal(StatementImpl.java:1552)
jdg4fx2g

jdg4fx2g1#

String query = "INSERT INTO users(int, fname, lname, age, sname, bname) VALUES   
 ('"+jTextField_FirstName.getText()+"','"+jTextField_LastName.getText()+"',"
        +jTextField_Age.getText()+",'"+jTextField_SName.getText()+"','"
   +jTextField_BName.getText()+"')";

根据查询,您正在插入fname、lname、age、sname、bname的值,而不是int的值。您的查询应该在下面为int设置第一个值

String query = "INSERT INTO users(int, fname, lname, age, sname, bname) VALUES   

('"+value_for_int+"','"+jTextField_FirstName.getText()+"','"+jTextField_LastName.getText()+"',"
        +jTextField_Age.getText()+",'"+jTextField_SName.getText()+"','"
   +jTextField_BName.getText()+"')";
r6vfmomb

r6vfmomb2#

你们提供了六个Colomun,如下所示,

INSERT INTOusers(int,fname,lname,age,sname,bname)

但只提供了以下五个值,

jTextField_FirstName.getText()

jTextField_LastName.getText()

jTextField_Age.getText()

jTextField_SName.getText()

jTextField_BName.getText()

因此,为insert查询中指定的int再提供一个值,然后就没有错误了!!

dxxyhpgq

dxxyhpgq3#

要设置6列吗 int, fname, lname, age, sname, bname 但您只提供了5列值。
再加一个列值,就可以了

相关问题