2016-07-10 3 views
0

과제가 있습니다. 시스템은 널 (NULL) 인 경우에만 컬럼 날짜 시간을 갱신해야합니다.datetime이 null 인 경우에만 mysqli 업데이트

내가 가진이 쿼리

update posts set name = '$name', pubdate = case when pubdate is null 
then now() 
else pubdate end 
where id = '$postid' 

이이 작업을 수행하는 올바른 방법인가? 다른 어떤 더 나은 해결책?

답변

0

논리가 좋습니다.

update posts 
    set name = '$name', 
     pubdate = coalesce(pubdate, now()) 
    where id = '$postid'; 

참고 : 나는대로 더 간결이 쓰기 수있는 식별자가 숫자 인 경우

  • , 작은 따옴표로 값을 넣지 마십시오.
  • 더 중요한 것은 $name$postid이 쿼리 문자열에 직접 삽입되지 않고 쿼리의 매개 변수 여야합니다.
관련 문제