我遇到一个问题,我认为INSERT语句错误,因为我不断收到“SQL ERROR”。每次我执行UPDATE语句,它都可以正常工作。我似乎无法找到查询的错误。
我的数据库表: emenu_user HAS变量 id,用户名,密码,电子邮件,联系人和食物。 ALL为 VARCHAR (暂时)。
public void Connection(){
try{
Connection connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/emenu?zeroDateTimeBehavior=convertToNull","root","");
if(connection!=null){
System.out.println("Database connected");
}else {System.out.println("Database NOT connected");}
String name=username_field.getText();
String pass=password_field.getText();
String email=email_field.getText();
String contact=contact_field.getText();
String query="INSERT INTO emenu_user (username,password,email,contact) VALUES (?,?,?,?)";
PreparedStatement statement = connection.prepareStatement(query);
statement.setString(1,name);
statement.setString(2,pass);
statement.setString(3,email);
statement.setString(4,contact);
int set=statement.executeUpdate();
if(set>0)
{
JOptionPane.showMessageDialog(null,"Data Saved");
homepageMenu homepageMenu= new homepageMenu();
homepageMenu.setVisible(true);
dispose();
}
else
{
JOptionPane.showMessageDialog(null,"ERROR");
}
} catch(SQLException e){
JOptionPane.showMessageDialog(null,"SQL FAILED");
}
}
答案 0 :(得分:1)
您需要将字段null
设置为food
null
或在插入时提供一些值
ALTER TABLE `emenu_user` ALTER `food` SET DEFAULT NULL