可以将数据插入数据库

时间:2014-08-02 08:23:29

标签: mysql database mysql-5.5

我编写了一个代码,用于在数据库中插入数据

String sql="INSERT INTO check (name,pass,pno) VALUES (?,?,?)";
            PreparedStatement pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, name);
            pstmt.setString(2, pass);
            pstmt.setInt(3, no1);
            pstmt.executeUpdate();

由于我已经避免了sql注入并使用了preparedstatement,我仍然在服务器日志中收到此错误:

SEVERE:   com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'check (name,pass,pno) VALUES ('Nikhil Muskur','qwerty1',7898455)' at line 1

我仔细检查了它,因为语法没有问题,那么任何人都可以帮助解决问题

2 个答案:

答案 0 :(得分:3)

check是MySQL中的保留字:http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

将您的查询更改为:

String sql="INSERT INTO `check` (`name`, `pass`, `pno`) VALUES (?,?,?)";

所以MySQL知道你实际上正在访问一个表。

答案 1 :(得分:0)

(' Nikhil Muskur' qwerty1',7898455):更新查询(' Nikhil Muskur',' qwerty1',& #39; 7898455&#39)

7898455必须是字符串值。