sql语句中的语法错误?

时间:2017-03-21 22:49:42

标签: mysql

我在以下几行中遇到语法错误。我不熟悉mysql所以任何指针都会有帮助

 ps = con.prepareStatement("INSERT INTO order(status,ordered_on,total_price,user_id) "
                + " VALUES(?,?,?,?)");

        ps.setString(1,"pending");
        ps.setTimestamp(2,date);
        ps.setDouble(3,total_price);
        ps.setInt(4,ID);

错误是 MySQL server version for the right syntax to use near 'order(status,ordered_on,total_price,user_id) VALUES('pending','2017-03-22 04:08' at line 1

1 个答案:

答案 0 :(得分:1)

问题是order是mysql的保留关键字;所以你可以随意使用两种解决方案 1:如果您需要一些存款来使用该工作以防您使用反引号逃脱`order`
2:您可以使用复数作为表名称,如订单

    ps = con.prepareStatement("INSERT INTO `order`(status,ordered_on,total_price,user_id) "
            + " VALUES(?,?,?,?)");

    ps.setString(1,"pending");
    ps.setTimestamp(2,date);
    ps.setDouble(3,total_price);
    ps.setInt(4,ID);

这是指向神秘npm documentation

的q链接