mysql表中插入数据时出错

时间:2018-10-29 14:19:46

标签: java mysql

String pass=new String(pf1.getPassword());

try {
    Connection myConn=DriverManager.getConnection("jdbc:mysql://localhost:3306/javaproject","root","noor1032");
    PreparedStatement myStat=myConn.prepareStatement("insert into user_info (username,password,email_id)"+"values(?,?,?)");
    myStat.setString(1, tf1.getText());
    myStat.setString(2, pass);
    myStat.setString(3, tf2.getText());
    myStat.execute();
    myConn.close();
}   
catch(Exception f)
{
    System.err.println("Got an exception!");
    System.err.println(f.getMessage());
}

我想将用户在JFrame中输入的数据插入到我的sql数据库中。 tf1tf2分别是用户名和email_id的文本字段。当我执行此语句时,发生异常,表示

Field 'id' does not have a default value

id是我数据库中的一列,表示数字1,2,3,依此类推。请帮助我。

2 个答案:

答案 0 :(得分:0)

您必须在mysql中将ID设置为Auto Increment。它将起作用

答案 1 :(得分:0)

尽管您尚未共享表的结构,但我想idPRIMARY KEY,但是您错过了AUTO_INCREMENT配置。在您的数据库中,运行以下语句

ALTER TABLE user_info MODIFY COLUMN id INT auto_increment