我有个问题,很高兴收到你的反馈。
在MySQL中更新表的数据时,出现以下消息:
列计数与第1行的值计数不匹配
桌子是:IdUsuari
INT不为空自动递增,Nickname
VARCHAR(50)不为空,DataRegistre
日期不为空,DataDarrerAcces
日期不为空,NumLlistes
INT不为空默认值0,Password
VARCHAR(10)不为空,Admin
INT不为空,
主键(IdUsuari
)
以及代码:
public static void RegistreUsuari(int port, String ip, String nickname, String password) throws SQLException{ /*Creem un usuari*/
java.util.Date dt = new java.util.Date();
Connection conn = getConnection(port,ip);
Statement st = null;
st = conn.createStatement();
String query = new String();
/*Data*/
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currentTime = sdf.format(dt);
query = "INSERT INTO usuari(Nickname, Password, DataRegistre, DataDarrerAcces, NumLlistes, Admin) VALUES('" + nickname +"','"+password+"','"+currentTime+"','"+currentTime+"',0)";
st.executeUpdate(query); }
以及
Database.RegistreUsuari(port, ip, "Elder", "hola");
提前谢谢你!
最佳答案
您正在尝试将5个值插入到包含6列的表中。您没有为NumLlistes
指定值。
如果希望使用默认值,请不要在insert语句中指定NumLlistes
列:
query = "INSERT INTO usuari(Nickname, Password, DataRegistre, DataDarrerAcces, Admin) VALUES('" + nickname +"','"+password+"','"+currentTime+"','"+currentTime+"',0)";