웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[MySQL] Set 형 자료형..
2003.12.24 01:32
http://www.nzeo.com/bbs/zboard.php?id=cgi_pr&no=22532php 프로그램시 유용하게 사용할수 있는 자료형 중에 하나를 소개 할까 합니다.
SET 이라는 자료형입니다. enum 과 유사하게 생겼으나 전혀 다른 별개의 자료형입니다.
enum ('a','b','c') 라고 정의된 필드가 있다고 생각합시다.
이 자료형은 a 나 b, c(혹은 null) 중 단 하나의 값을 가질수 있습니다.
set('a','b','c') 라고 정의된 필드는 enum과는 조금 다르게
null, a, b, c, (a,b), (a,c)... (a,b,c) 와 같은 값을 가질수 있습니다.
enum과는 달리 복수개의 아이템을 값으로 가질수가 있습니다.
그리고 또 하나 set 에 정의된 아이템은 비트 연산이 가능합니다.
null - 000 (0)
a - 001 (1)
b - 010 (2)
c - 100 (4)
a,b - 011 (3)
a,b,c - 111 (7)
set 형은 최대 64개의 아이템을 가질수 있고 select 문을 통해서 문자열 혹은 정수 값으로 열람이 가능합니다.
비트연산을 통해 비교구문을 활용할수 있고 그 응용범위는 넓습니다.
제 경우엔 수강신청 프로그램에 활용을 하였습니다.
각 과목은 월1~금15 까지 중 일부의 가변 갯수의 수업시간을 가집니다.
그리고 수강신청시 이미 신청한 과목과 중복된 과목은 신청할수 없겠죠?
원래는 정수형으로 필드를 설정해놓고 각 시간별로 비트를 하나씩 부여해서 php 에서 처리해주려고 했는데
이미 mysql 에 set형이라는 유사한 자료형이 있더라구요..
이 경우 기존에 수강신청한 자료에서 이미 신청한 과목의 시간을 모두 얻어
이 값을 or 연산을 해주고, 그 값과 현재 신청하려는 수강과목의 시간을 and 해주어서
그 결과가 0이 나와야 신청이 가능하겠죠??
많은 도움이 되셨나요?
----------------------------
웹상에서 웹프로그램 오픈 소스 프로젝트를 해볼생각입니다.
관심있는 분은 link1을 클릭해주세요.
SET 이라는 자료형입니다. enum 과 유사하게 생겼으나 전혀 다른 별개의 자료형입니다.
enum ('a','b','c') 라고 정의된 필드가 있다고 생각합시다.
이 자료형은 a 나 b, c(혹은 null) 중 단 하나의 값을 가질수 있습니다.
set('a','b','c') 라고 정의된 필드는 enum과는 조금 다르게
null, a, b, c, (a,b), (a,c)... (a,b,c) 와 같은 값을 가질수 있습니다.
enum과는 달리 복수개의 아이템을 값으로 가질수가 있습니다.
그리고 또 하나 set 에 정의된 아이템은 비트 연산이 가능합니다.
null - 000 (0)
a - 001 (1)
b - 010 (2)
c - 100 (4)
a,b - 011 (3)
a,b,c - 111 (7)
set 형은 최대 64개의 아이템을 가질수 있고 select 문을 통해서 문자열 혹은 정수 값으로 열람이 가능합니다.
비트연산을 통해 비교구문을 활용할수 있고 그 응용범위는 넓습니다.
제 경우엔 수강신청 프로그램에 활용을 하였습니다.
각 과목은 월1~금15 까지 중 일부의 가변 갯수의 수업시간을 가집니다.
그리고 수강신청시 이미 신청한 과목과 중복된 과목은 신청할수 없겠죠?
원래는 정수형으로 필드를 설정해놓고 각 시간별로 비트를 하나씩 부여해서 php 에서 처리해주려고 했는데
이미 mysql 에 set형이라는 유사한 자료형이 있더라구요..
이 경우 기존에 수강신청한 자료에서 이미 신청한 과목의 시간을 모두 얻어
이 값을 or 연산을 해주고, 그 값과 현재 신청하려는 수강과목의 시간을 and 해주어서
그 결과가 0이 나와야 신청이 가능하겠죠??
많은 도움이 되셨나요?
----------------------------
웹상에서 웹프로그램 오픈 소스 프로젝트를 해볼생각입니다.
관심있는 분은 link1을 클릭해주세요.
댓글 3
제목 | 글쓴이 | 날짜 |
---|---|---|
초보분들을 위한 연산자 총정리 [6] | TheMics | 2002.01.29 |
이제 PHP에 ?id=가나다라 같은것을 넣자! [12] | 담배를끊으면복이옴과 | 2002.01.30 |
이제 홈페이지 업데이트 안하는 수모를 겪지 말자! [7] | 담배를끊으면복이옴과 | 2002.02.02 |
md5() 알고리듬 [8] | 양창민 | 2002.02.05 |
원고지 함수;; [3] | 디쓰 | 2002.02.07 |
한글 필터링 정확히 하기 [1] | mini | 2002.02.09 |
필터링조금 다른거.. [7] | 두기두바 | 2002.02.10 |
좋은 난수값을 얻기위한 시드배정 방법 mt_srand(), srand() | 차카게살자 | 2002.02.21 |
제로보드 분석 -1- [4] | 제키드+_+)/ | 2002.02.21 |
PHP 소스 보이게 하기; [5] | Topy | 2002.02.21 |
in_array 함수이용한 업로드금지 [3] | 김승제 | 2002.02.21 |
date 함수의 매개 변수 | Topy | 2002.02.22 |
제로보드 분석 -2- [2] | 제키드+_+)/ | 2002.02.22 |
복잡해? 줄여! [3] | 제키드+_+)/ | 2002.02.22 |
[lib] fun 문자열속의 url에 링크를 거는 함수 [2] | Topy | 2002.02.22 |
[lib] fun. alert message (경고 메시지) [1] | Topy | 2002.02.22 |
for 문에 대한 이해, 구구단 만들어 보기. [3] | Topy | 2002.02.22 |
http://홈주소/?mode=xxx 하는방법 :) [5] | 제니 | 2002.02.23 |
[re | 씽크식 PHP] 많고 많은 페이지들을 하나로 줄이자! [2] | John Sync. | 2002.02.24 |
많고 많은 페이지들을 하나로 줄이자! [7] | 제키드+_+)/ | 2002.02.23 |