Я новичок в JDBC и SQL, и у меня есть эта программа, но когда я запускаю его, я получаю следующее сообщение об ошибке:Ошибка: java.sql.BatchUpdateException: Поле «stu_id» не имеет значения по умолчанию
java.sql.BatchUpdateException: Field 'stu_id' doesn't have a default value.
Я пытался манипулировать линии
pst = con.prepareStatement("insert into student(first_name,last_name,address) values (?,?,?)");
путем добавления 4-й знак вопроса в значениях, и путем добавления stu_id в вставках в студент(). Однако они только дали другие ошибки. Я не знаю, что делать?
package java11;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
public class PreparedExample {
public static void main(String[] args) {
Connection con=null;
PreparedStatement pst=null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/world","root","Sree7rama3**");
pst = con.prepareStatement("insert into student(first_name,last_name,address) values (?,?,?)");
for(int i=1;i<=20;i++){
//pst.setInt(1, i);
pst.setString(1, "Hello-"+i);
pst.setString(2, "World-"+i);
pst.setString(3,"HYD-"+i);
pst.addBatch();
}
pst.executeBatch();
System.out.println("Update is successful!");
}catch (SQLException e) {
System.out.println("There are some SQL errors!");
e.printStackTrace();
}catch (ClassNotFoundException e) {
System.out.println("Driver class is not attached to this project!");
e.printStackTrace();
}finally{
try {
pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Структура таблицы будет полезна структура – Gratzy
таблицы: Первый столбец (stu_id (первичный ключ)), второй столбец (first_name), third_column (last_name), четвертый столбец (адрес) –
, когда вам добавлен stu_id в ваш оператор insert, какие ошибки вы получили – Gratzy