我有个问题,很高兴收到你的反馈。
在MySQL中更新表的数据时,出现以下消息:
列计数与第1行的值计数不匹配
桌子是:
IdUsuariINT不为空自动递增,
NicknameVARCHAR(50)不为空,
DataRegistre日期不为空,
DataDarrerAcces日期不为空,
NumLlistesINT不为空默认值0,
PasswordVARCHAR(10)不为空,
AdminINT不为空,
主键(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)";

09-30 09:03