Запрос на вставку не работает - PullRequest
0 голосов
/ 04 мая 2018

У меня есть проблема, в которой я думаю, что оператор INSERT неверен, так как я продолжаю получать «ОШИБКУ SQL». Каждый раз, когда я делаю оператор UPDATE, он работает просто отлично. Я не могу понять, что не так с запросом.

Моя таблица базы данных: emenu_user Переменные HAS идентификатор, имя пользователя, пароль, адрес электронной почты, контакт и питание . ВСЕ, в которых 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 голосов
/ 04 мая 2018

Вам нужно либо установить в поле food значение null

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

или укажите какое-либо значение при вставке

String query="INSERT INTO emenu_user (username,password,email,contact, food) VALUES (?,?,?,?,?)";
    PreparedStatement statement = connection.prepareStatement(query);
    statement.setString(1,name);
    statement.setString(2,pass);
    statement.setString(3,email);
    statement.setString(4,contact);
    statement.setString(5,[SOME_VALUE]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...