table name : test
idx int(11) not null auto_increment
user_idx int(11) not null
name varchar(100)
type varchar(10)
위와같이 있을때
idx 는 자동으로 숫자가 올라가면서 insert 되니깐 중복이 되지않아서 괜찮은거 같은데요
user_idx , name , type 이 3개가 모두 중복일때 등록이 안되도록 하는 방법은 어떻게 해야하나요?
primary key 를 3개다 넣으면 되는건가요?
예를들어
100 , 가 , 가 데이터가 있을때
100 , 가 , 가 (X)
100 , 가 , 나 (O)
100 , 나 , 나 (O)
이해가 되시는지 모르겠는데 저런식으로 3개다 중복이 안될때만 등록되도록 테이블을 어떻게 생성해야할까요...
답변 3개 / 댓글 3개
채택된 답변
+20 포인트
7년 전
ALTER TABLE [table_name] ADD UNIQUE KEY (column1, column2, ..... );
답변에 대한 댓글 1개
탈퇴_79b978
7년 전
$chk = sql_fetch(" select count(*) as cnt from test where user_idx='$user_idx' and name ='$name' and type='$type' ");
if($chk['cnt']) alert("이미 등록된 자료입니다.");
답변에 대한 댓글 1개
PureAni
7년 전
유니크를 거세요.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.