> +---------+------------+------+-----+---------+----------------+
> | Field | Type | Null | Key | Default | Extra |
> +---------+------------+------+-----+---------+----------------+
> | no | int(4) | | MUL | 0 | auto_increment |
> | thread | int(4) | | | 0 | |
> | step | int(1) | | | 0 | |
> | name | tinytext | YES | | NULL | |
> | passwd | tinytext | YES | | NULL | |
> | email | tinytext | YES | | NULL | |
> | title | tinytext | YES | | NULL | |
> | comment | mediumtext | YES | | NULL | |
> | date | tinytext | YES | | NULL | |
> | hit | int(10) | | | 0 | |
> +---------+------------+------+-----+---------+------
>
> 위의 테이블은 say라는 테이블인데, 구조가 똑같은 테이블을 만들고 싶습
> 니다. 그런데 오라클처럼 create as select문이 사용되지 않아서 만들수가
> 없습니다. 문장을 일일이 쓸려고 하는데 Key부분에 있는 MUL이 무엇인지 몰
> 라서 auto_increment가 계속 되지 않습니다.
> 제가 조금 급한 관계로 부탁드립니다.
> 책에서는 key값 없이도 auto_increment를 하던데 저는 계속 에러가 나거든
> 요....
> 그럼 연락을 기다리며.
>
저도 궁금해서 메뉴얼을 찾아보았는데 mul이 먼지 찾기가 힘드네요. 혹시나 multi index가 아닐까 해서 테스트 해보았더니 multi-index더군요..
아마 say라는 테이블에 multi-index가 잡혀져 있을 겁니다. 인덱스가 무엇이 인는지 확인하는 방법은 모르겠습니다. (oracle의 경우는 user_indexes라는 데이타 딕셔너리를 보면 알 수 있는데 mysql도 아직 잘 모르지만 비슷한게 있지 않을까 싶네요)
예를 들어 no라는 컬럼이랑 thread란 컬럼이랑 no컬럼이랑 하나의 인덱스 이름으로 인덱스가 생성되지 않았나 싶네요.
auto_increment가 안되는 이유는 잘 모르겠습니다. 위의 테이블은 primary key가 없어서 테스트 해보았는데 primary key가 없어도 auto_increment는 동작하더군요.
(primary key를 만드니깐 'mul'이 없어지고 'pri'가 나오더군요.)
근데 primary key없어도 문제없습니까? 일반적으로 RDB에서는 거의 필수로 바야할 것 같은데요. 물론 auto_increment로 duplicate가 발생하지는 않겠지만 system적으로는 허용이 되기 때문에 좀 위험하지 않을까 하는데요..
암튼 mul이라는 것이 무엇인지 덕분에 공부했습니다.
그럼..
|