mysql에서 unique key를 그룹별로 적용 할 수 있나요?

visualplus의 이미지

현재 테이블에 a컬럼 b컬럼이 있는데 a컬럼에는 0인 경우와 1인 경우가 있습니다.
그리고 b컬럼에는 여러가지 값들이 올 수 있습니다.

b컬럼에 unique key를 적용하고 싶은데 문제가 무조건 1개는 중복이 된다는 것 입니다.
만약 b컬럼에 "abc"란 값을 넣으면 a컬럼에 0이 들어간 "abc"와 a컬럼에 1이 들어간 "abc"가 들어갑니다.
그러니 a컬럼으로 그룹을 묶어 a가 0인경우의 b컬럼과 a가 1인경우의 b컬럼은 중복값이 없습니다.

예를들면

unique key를 적용하고 싶은 컬럼 : b
 
|  a  |   b   |
---------------
|  0  | "abc" | 
---------------
|  1  | "abc" |
---------------
|  0  | "def" |
---------------
|  1  | "def" |
---------------

이런식으로 들어가게 됩니다.
그러나 a컬럼이 0일 경우일 때의 unique한지, 1일 경우일 때 unique한 지 따로 체크할 수 있으면
unique key를 적용할 수 있을텐데.. 이럴 수 있는 방법이 있는지 궁금합니다.

lacovnk의 이미지

unique를 묶어서 지정할 수 있습니다. (정확히는 multiple column key를 만들어서 unique 지정..)

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.