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数据库中。 tf1
和tf2
分别是用户名和email_id的文本字段。当我执行此语句时,发生异常,表示
Field 'id' does not have a default value
id
是我数据库中的一列,表示数字1,2,3,依此类推。请帮助我。
答案 0 :(得分:0)
您必须在mysql中将ID设置为Auto Increment。它将起作用
答案 1 :(得分:0)
尽管您尚未共享表的结构,但我想id
是PRIMARY KEY
,但是您错过了AUTO_INCREMENT
配置。在您的数据库中,运行以下语句
ALTER TABLE user_info MODIFY COLUMN id INT auto_increment