当我尝试使用带有预准备语句的where子句在我的表(事件)中设置一个值时,我的sql语法出错了这是代码`
public void setEventParticipants(int id, String eventParticipants)
{
try {
String req1="insert into events (eventParticipants) values(?) where (eventId)=?";
PreparedStatement pre = c.prepareStatement(req1);
pre.setString(1, eventParticipants);
pre.setInt(2, id);
pre.executeUpdate();
} catch (SQLException ex) {
Logger.getLogger(EventService.class.getName()).log(Level.SEVERE, null, ex);
}
}`
我收到此错误:您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以便在第1行的'where(eventId)= 7'附近使用正确的语法,感谢您的帮助
改变这个
insert into events (eventParticipants) values(?) where (eventId)=?
对此
UPDATE events SET eventParticipants = ? WHERE eventId = ?
如果你做一个insert语句,它应该填充你的表
而不是INSERT INTO table_name VALUES(value1,value2,value3,...);尝试使用UPDATE table_name SET column1 = value1,column2 = value2,... WHERE condition;或INSERT INTO table_name VALUES(&value1,&value2,&value3,...);