'update'에 해당되는 글 2건

  1. 2008.11.18 MS-SQL UPDATE문을 제대로 쓰자 3탄 by 잠수콩
  2. 2008.11.13 ms-sql UPDATE 문을 제대로 써보자! by 잠수콩

테이블 : 어떤 칼럼에 특정 문자열을 지우고 싶을때.

update 테이블명
set 칼럼명 = replace(칼럼명, '특정문자열', '')
where 칼럼명 like '%특정문자열%'

예전에 SQL인젝션 공격에 의해서,

몇개의 테이블(인젝션 공격을 막기위한 스크립트를 안넣었던 페이지에 걸린 테이블만...ㅡㅡ)에
"<script>어쩌구저쩌구</script> " 가 varchar, text 형식에 모두 들어가버려서 ㅜㅜ 아주 곤란할때 썼던 방법

sql 인젝션에 당하지 말려면 "<", ">" 이건 특히나 request 받을 때, 다른 문자로 치환해서 저장해야한다.
안그럼 저런 공격에 맥을 못춤.

예를들면, 검색페이지등에 post방식이던 get방식이던 변수에 값을 넣어서 결과페이지에 뿌릴텐데.

xxxx.com/a.asp?search_txt=나나나 <-- 요렇게

xxxx.com/a.asp?search_txt=<script>alert('SQL 인젝션 걸릴 위험 크다');</script> <-- 요렇게 해보면

sql injection 에 걸릴 위험이 크다.

물론 쿼리문에서의 처리는 당연하고, 페이지에서도 변수처리 제대로 해야한다.

저작자 표시 비영리 변경 금지
신고
Posted by 잠수콩
기본 UPDATE 문에, WHERE절에 맞는 것만 필드 UPDATE 하기

update cash_happy_list
set check_value='N', phone = null, out_date = null
where happy_code in (
 select happy_code from cash_happy_list a
  inner join dl_userinfo b on a.phone = b.phone
 where convert(varchar(10), a.out_date, 121) between '2008-10-29' and '2008-10-30'
)

구문 정리.

1.cash_happy_list 테이블에 check_value, phone, out_date 칼럼을 업데이트하기위함.
2.happy_code가 조건에 맞는것만
3.조건은 dl_userinfo의 phone번호와 cash_happy_list의 phone 번호가 동일하고,
지정한 기간 안에, 맞는것만. 업데이트 처리

저작자 표시 비영리 변경 금지
신고
Posted by 잠수콩