Java 프로그램에서 MySQL 데이터베이스를 사용하고 있습니다. Java에서 모든 쿼리를 구현하기 전에 SQLDeveloper를 사용하여 테스트하여 작동하는지 확인합니다.MYSQL 업데이트 테이블이 Java 구현에서 작동하지 않습니다.
SQLDeveloper에서 다음 쿼리는 완벽하게 작동합니다 : 금지로
UPDATE keyword t JOIN banned b ON t.excerpt LIKE CONCAT_WS('', '%', b.word, '%')
SET t.filter = 'BANNED'
WHERE t.filter IS NULL
은 (그냥 제목의 목록에서 표시, 금지 된 단어 (예 : 욕설)가 포함 된 제목을 지금
. 난 자바에서이 쿼리를 구현하는 코드는 완벽하게 실행 (오류없이, 아니 예외)하지만 SQLDeveloper를 사용하는 것처럼 실제로 DB가 업데이트되지 않습니다 여기에 코드입니다.
String query = "UPDATE keyword t JOIN banned b ON t.excerpt LIKE CONCAT_WS('', '%', b.word, '%') SET t.filter = 'BANNED' WHERE t.filter IS NULL;";
PreparedStatement preparedStatement = connect.prepareStatement(query);
preparedStatement.executeUpdate();
preparedStatement.close();
I 이 쿼리와 비슷한 다른 쿼리가 생성되어 작동합니다. 내가 놓친 게 있니?
Connection.commit() 당신은 아마 모든 필드가 이미 – Mihai
100 % 확신, 내가 그것을 할 수 있는지 확인하는 DB에 SELECT 쿼리를 사용하여 업데이트됩니까? 작동 어쩌려 구't 확실 사용하면 SQL 문을 커밋해야합니다 updated/not –
@MarcoMicheli 질의 끝에';'를 사용할 필요는 없습니다. 서버 로그를 확인하십시오. 실패했을 경우 예외가 있어야합니다. –