每当我执行以下查询时,都会引发以下异常
引起原因:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册以获取正确的语法,以在第1行的'-name,cpy-address,cpy-contact)VALUES('nauman','ahmad18',12)'附近使用
查询导致异常的
String query="insert into company(cpy-name, cpy-address, cpy-contact)VALUES(?,?,?)";
Connection con=DataAccessLayer.getConnection();
PreparedStatement stat=con.prepareStatement(query);
stat.setString(1, cname);
stat.setString(2, caddress);
stat.setInt(3,x );
int rowsAffected = stat.executeUpdate();
最佳答案
您不能在SQL查询中使用-
。使用`
反引号或反勾字符转义列名称。
insert into company(`cpy-name`, `cpy-address`, `cpy-contact`)VALUES(?,?,?)
另一方面,如果数据库在您的控制之下,请更改列名称以使用“ _”而不是“-”。拥有非法字符并引用它们不是一个好习惯。
希望这可以帮助!
关于java - 以下查询导致MySQLSyntaxErrorException-我的查询出了什么问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37507603/