package CHAPTER15;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class UpdateQuery {
	private static final String URL = "jdbc:mysql://localhost:3306/course";
	private static final String USER = "root";
	private static final String PASSWORD = "123456789";

	// 회원 정보 수정 메서드
	public static void updateMemberPhone(int memberId, String email, String newPhone, Connection conn) throws SQLException {
		//String query = "UPDATE members SET phone = ? WHERE email = ?";
		String query = "UPDATE members SET username = ?, phone = ? WHERE member_id = ?";
		
		// 데이터베이스 연결 및 업데이트 실행
		PreparedStatement preparedStatement = conn.prepareStatement(query);

		// 매개변수 바인딩
		preparedStatement.setString(1, newPhone); // 첫 번째 ?에 새로운 전화번호 설정
		preparedStatement.setString(2, email); // 두 번째 ?에 이메일 설정
		preparedStatement.setInt(3, memberId); 

		// 쿼리 실행 및 업데이트된 행 수 확인
		int affectedRows = preparedStatement.executeUpdate();

		if (affectedRows > 0) {
			System.out.println("회원 전화번호가 성공적으로 업데이트되었습니다.");
		} else {
			System.out.println("해당 이메일을 가진 회원이 존재하지 않습니다.");
		}
	}
	
	public static void main(String[] args) {
		Connection conn;
		try {
			conn = DriverManager.getConnection(URL, USER, PASSWORD);
			
			int memberId = 1; // 수정할 회원 ID
			String email = "john.doe@example.com"; // 수정할 대상의 이메일
			String newPhone = "010-5678-8888"; // 새로운 전화번호

			updateMemberPhone(memberId, email, newPhone, conn); // 회원 정보 업데이트 호출

		} catch (SQLException e) {
			System.err.println("데이터베이스 업데이트 중 오류 발생: " + e.getMessage());
		}
	}
}
