我是MySQL的初学者,我使用Java将6个项目插入到数据库表中,在这里它称为“注册”表,我从phpMyAdmin复制/粘贴了插入SQL语句,但是在运行Java程序时,它总是SQL异常发生了。我检查了数据库,没有添加新记录。我的db访问语句和异常如下,
QUERY: INSERT INTO `student`.`registration` (`FirstName`, `LastName`, `HomeAdd`, `PhoneNumber`, `SSN`, `BirthDate`) VALUES ('Don', 'Williaams', '560 Young St', '900-899-6756', '112-123-7637', '12-09-1980')
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
在Java中,我编写了如下代码
String query = "INSERT INTO `student`.`registration` (`FirstName`, `LastName`, `HomeAdd`, `PhoneNumber`, `SSN`, `BirthDate`) VALUES ('" + "Don', 'Williaams', '560 Young St', '900-899-6756', '112-123-7637', '12-09-1980"+"')";
rs2 = st2.executeQuery(query);
我在Java中切换了insert语句,如下所示
String query = "INSERT INTO `student`.`registration` (`FirstName`, `LastName`, `HomeAdd`, `PhoneNumber`, `SSN`, `BirthDate`) VALUES ('Don', 'Williaams', '560 Young St', '900-899-6756', '112-123-7637', '12-09-1980')";
异常仍然发生,与之前相同
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
我的查询语句有问题吗? 提前感谢您的帮助
苏珊
答案 0 :(得分:0)
您错过了结束)
。您还需要使用executeUpdate
代替executeQuery
。请尝试以下方法:
String query = "INSERT INTO `student`.`registration` (`FirstName`, `LastName`, `HomeAdd`, `PhoneNumber`, `SSN`, `BirthDate`) VALUES ('" + "Don', 'Williaams', '560 Young St', '900-899-6756', '112-123-7637', '12-09-1980"+"')";
rs2 = st2.executeUpdate(query);
答案 1 :(得分:0)
运行以下查询,我认为在sql日期格式为yyyy-mm-dd
所以也要更改它(这里我希望您在创建时指定了数据类型date
而不是varchar
你的桌子)
String query = "INSERT INTO student.registration (`FirstName`, `LastName`, `HomeAdd`, `PhoneNumber`, `SSN`, `BirthDate`) VALUES ('" + "Don', 'Williaams', '560 Young St', '900-899-6756', '112-123-7637', '1980-09-12"+"')";
rs2 = st2.executeUpdate(query);
答案 2 :(得分:0)
executeQuery
声明, Select
。您无法使用executeQuery
运行插入语句。请改用executeUpdate
。它应该解决这个问题。
String query = "INSERT INTO `student`.`registration` (`FirstName`, `LastName`, `HomeAdd`, `PhoneNumber`, `SSN`, `BirthDate`) VALUES ('" + "Don', 'Williaams', '560 Young St', '900-899-6756', '112-123-7637', '12-09-1980"+"')";
rs2 = st2.executeUpdate(query);