嘗試使用帶有準備好的語句的 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' 附近使用正確的語法 感謝您的幫助
3 回答

精慕HU
TA貢獻1845條經驗 獲得超8個贊
改變這個
insert into events (eventParticipants) values(?) where (eventId)=?
至此
UPDATE events SET eventParticipants = ? WHERE eventId = ?
如果您執行插入語句,它應該填充您的表

慕少森
TA貢獻2019條經驗 獲得超9個贊
而不是 INSERT INTO table_name VALUES (value1, value2, value3, ...); 嘗試使用 UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE 條件;或 INSERT INTO table_name VALUES (&value1, &value2, &value3, ...);
添加回答
舉報
0/150
提交
取消