插入查询不起作用

时间:2018-05-04 08:23:20

标签: java mysql database jdbc

我遇到一个问题,我认为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");
    }

}

1 个答案:

答案 0 :(得分:1)

您需要将字段null设置为food

null

或在插入时提供一些值

ALTER TABLE `emenu_user` ALTER `food` SET DEFAULT NULL