보모요소와 코멘트의 db 처리 질문입니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
보모요소와 코멘트의 db 처리 질문입니다.

QA

보모요소와 코멘트의 db 처리 질문입니다.

본문

$sql = " update g5_write_note set wr_3 = '5', addarea = '기간만료' where wr_8 < '".G5_TIME_YMD."' and wr_3 <= '5' "; 


부모 필드의 wr_8이 오늘날짜보다 작고, wr_3이 5보다 작다면

자녀 코멘트에 addarea라는 필드에 기간만료라고 업데이트 하고 싶은데요 이게 맞나요?

이 질문에 댓글 쓰기 :

답변 2

부모가 어디고 자녀가 어디인지 설명이 없네요 .


아까 질문에 g5_write_note 가 부모이고 자녀가 new_table 인거 같던데


비교는 부모로 하고 update 는 자녀를 하는 쿼리는 작성될수 없습니다.

ㅋㅋ 어려운걸 하고 계시네요..

근데 그런식으로 쿼리는 작성되지 않습니다.

쿼리가 실행되지도 않겠지만

실행되어도 문제가 있는게 이전 질문에 댓글대로 코멘트필드를 걸러주는 조건이 없는 쿼리이다 보니

코멘트 테이블이 모든 addarea 의 값이 바뀌게 될겁니다.

쿼리 자체를 수정해서 코멘트테이블을 걸러준다 해도 쿼리자체가 모순을 안고 있는거죠

이전 질문에 다른분들도 답글 달아주셨던데

부모필드의 select 구문을 별도로 만들어서 비교한뒤

코멘트에 대한 update 구문을 실행하는 구조로 가야 됩니다.

님의 실력을 가늠할수 없기에 조심스럽지만 한번의 쿼리로는 안되는게 맞는거 같습니다.

우리같은 개발자들이 간과하는게 DB 에 대한 공부같드라구요..

개발자들은 어찌됐든 php 나 javascript 로 해결하려 하잖아요.

근데 DB전문가들이 보자면 말씀하시는 내용은 단순히 DB 만 깔끔하게 구성해놓고

Trigger 만 잘 구성해도 됩니다.

물론 저도 DB는 초보자 수준입니다만 DB 영역과 WEB 부분은 구분하는 지혜가 필요한거 같습니다.

wr_3 <= '5' ";  // 이하, 5이거나 5보다 작을 때 

wr_3 < '5' ";  // 미만, 5보다 작을 때 


$sql = " update g5_write_note set wr_3 = '5', addarea = '기간만료' where wr_8 < '".G5_TIME_YMD."' and wr_3 < '5' ";  


이렇게 쓰셔야 될 것으로 보입니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 124,649 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT