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

问题描述 投票:0回答:1

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

有人可以帮助我我在哪里出错了: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);
    }
}
java database-connection
1个回答
1
投票

您不能在列名(以及连接字符串)中使用空格。如果您确实需要使用带空格的列名称,请将其放在反引号中:

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

但是,最好使用蛇形大写作为列名:full_name等。>

© www.soinside.com 2019 - 2024. All rights reserved.