当前位置: 首页 > 知识库问答 >
问题:

SQL语法错误:与您的MariaDB服务器对应以获取正确的语法

鲁品
2023-03-14

当我单击Create按钮将供应商记录添加到我的数据库中时,我收到上面的错误消息。

有人能帮我一下我哪里出了问题吗?insert语句有问题吗。

private void jbtnCreateActionPerformed(java.awt.event.ActionEvent evt) {                                           
    try {
        String sql = "INSERT INTO supplier"
                    +"(Full Name, Address Line 1, Address Line 2, Post Code, Email Address, Phone Number)"
                    +"VALUES (?,?,?,?,?,?)";

        connection = DriverManager.getConnection("jdbc:mysql://localhost/inventory management", "root", "");
        ps = connection.prepareStatement(sql);

        ps.setString(1, txtname.getText());
        ps.setString(2, txtaddressline1.getText());
        ps.setString(3, txtaddressline2.getText());
        ps.setString(4, txtpostcode.getText());
        ps.setString(5, txtemail.getText());
        ps.setString(6, txtphone.getText());
        ps.executeUpdate();

        JOptionPane.showMessageDialog(null, "Supplier Added");

    } catch(SQLException | HeadlessException ex) {
        JOptionPane.showMessageDialog(null, ex);
    }
}

共有1个答案

蓟和煦
2023-03-14

列名(以及连接字符串)中有空格,这是不允许的。如果您确实需要使用带有空格的列名,请将其放在后勾中:

String sql = "INSERT INTO supplier"
                +"(`Full Name`, `Address Line 1`, `Address Line 2`, `Post Code`, `Email Address`, `Phone Number`)"
                +"VALUES (?,?,?,?,?,?)";

但是,列名最好使用snake大小写:full_name等。

 类似资料: