2013-03-30 4 views
1

InnoDB는 "UNIQUE IF NOT NULL"인덱스를 지원합니까? 나는. 다중 NULL 값을 허용하는 UNIQUE 인덱스?InnoDB : NULL이 아닌 UNIQUE

(나는 그것에 대해 아무것도 찾을 수 없습니다 이후 더 추측 - 좀 관련 많은 것들을 아니지만 확실한 대답 발견) 이노에서

답변

2

을 고유의 보조 인덱스가 여러 널 (null)을 지원 (주 인덱스는 NULL을 전혀 지원하지 않습니다). 예 :

mysql> create table x (i int, j int, primary key (i), unique key (j)); 
mysql> insert into x (i,j) values (NULL,NULL); 
ERROR 1048 (23000): Column 'i' cannot be null 
mysql> insert into x (i,j) values (1,NULL); 
mysql> insert into x (i,j) values (2,NULL); 
mysql> insert into x (i,j) values (3,3); 
mysql> select * from x; 
+---+------+ 
| i | j | 
+---+------+ 
| 1 | NULL | 
| 2 | NULL | 
| 3 | 3 | 
+---+------+ 
3 rows in set (0.01 sec) 

mysql> insert into x (i,j) values (4,3); 
ERROR 1062 (23000): Duplicate entry '3' for key 'j' 
+0

감사합니다. 나는 잘 몰랐습니다. (꽤 이상한 나는 구글에서 그것을 찾을 수 없었다) –

관련 문제