我想通過Java插入值到我的數據庫,但我不斷收到「沒有默認值」錯誤消息。我在網上找了一些幫助,但他們並沒有真正解決我的問題。這是我得到的錯誤「java.sql.SQLException:Field'firstName'沒有默認值」。插入到SQL默認值錯誤
import java.sql.*;
class MysqlCon {
public static void main(String[] args) {
String personalID = null;
String firstname = null;
String lastname = null;
String addressone = null;
String addresstwo = null;
String city = null;
String state = null;
String zipcode = null;
String phone = null;
String email = null;
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/Address_Book","root","");
Statement stmt = con.createStatement();
personalID ="3";
firstname = "John";
lastname = "Doe";
addressone = "4000 s.c.r. 222";
addresstwo = "5000 n.c.r. 333";
city = "place";
state = "Texas";
zipcode = "43523";
phone = "43523524";
email = "[email protected]";
stmt.executeUpdate("insert into Names(personID) values("+personalID+")");
stmt.executeUpdate("insert into Names(firstname) values("+firstname+")");
stmt.executeUpdate("insert into Names(lastname) values("+lastname+")");
stmt.executeUpdate("insert into addresses(address1) values("+addressone+")");
stmt.executeUpdate("insert into addresses(address2) values("+addresstwo+")");
stmt.executeUpdate("insert into addresses(city) values("+city+")");
stmt.executeUpdate("insert into addresses(state) values("+state+")");
stmt.executeUpdate("insert into addresses(zipcode) values("+zipcode+")");
stmt.executeUpdate("insert into phoneNumbers(phoneNumber) values("+phone+")");
stmt.executeUpdate("insert into emailAddresses(emailAddress) values("+email+")");
con.close();
}catch(Exception e){System.out.println(e);}
}
}
您可以發佈完整的錯誤? –
您需要在一條語句中指定所有列:'INSERT INTO Names(personID,firstname,...)VALUES(?,?,...)' – shmosel
我已添加收到的錯誤消息。 – RayKing8