특정 row의 특정 field 에만 insert 하기
본문
테이블의 한개의 row에서 특정 column 값만을 다른 변수값으로 삽입(insert) 하려면 어떻게 해야 하나요?
현재 지금 wr_1 필드만 비어있는 상태입니다. (다른 필드는 값이 있습니다)
현재 wr_1 필드값이 있고 이를 update 하는 것이라면
$sql = "UPDATE g5_write_hbp_board SET wr_1 = '12345' WHERE wr_link2 = '223278845617'";
이 명령어가 가능하다고 합니다,
현재 wr_1 의 값이 비어있으므로
$sql = "INSERT INTO g5_write_hbp_board (wr_1) VALUES ('12345') WHERE wr_link2 = '223278845617'";
이 명령어를 써야 하는데 이때 where 문귀는 사용할 수 없다는 에러메세지가 뜨는데요, 이때 그렇다고 where 이하 문구를 제거하면 무조건 첫번째row만(특정 row 가 아닌), 혹은 모든 row의 wr-1 필드가 12345 로 채워지는 문제가 발생하네요,,,
너무 초보적인 질문이라서 죄송합니다
답변 3
현재 wr_1 필드값이 있고 이를 update 하는 것이라면
$sql = "UPDATE ~~
<=== wr_1 필드값이 있을 때만 위 쿼리를 하는 것이 아닙니다
wr_1 필드 값이 있든 없든 이미 등록한 레코드의 필드값을 변경할때 위와 같이 사용합니다
$sql = "UPDATE g5_write_hbp_board SET wr_1 = '12345' WHERE wr_link2 = '223278845617'";
→
$sql = "UPDATE g5_write_hbp_board SET wr_1 = '12345' WHERE wr_1 = '' and wr_link2 = '223278845617'";
$sql = "UPDATE g5_write_hbp_board SET wr_1 = '12345' WHERE wr_link2 = '223278845617' ";
혹시 안되면 위에 업데이트 쿼리 update .... 끝부분에 where (1) 을 추가해서 해보세요