> 안녕하십니까?
> MySQL을 공부하고 있는 초보입니다.
> PHP와 mSQL을 이용한 예제를 하나 구해서 MySQL로 변환을 하려고 합니다.
> MySQL manual을 살펴 보았으나 이해가 잘 되지 않아 몇가지 문의를 드립니
> 다.
>
> 아래에 예제로 이용한 SQL Table 구조가 있습니다.
>
> 예제 1~10라인의 user table의 작성은 별 문제가 없이 되었습니다.
> 그런데 10라인의 user (login, passwd)부분이 조금 이상 합니다.
>
> [질문 1]
>
> 'user(login, passwd)'와 같이 user와 여는 둥근 괄호'('를 붙여 쓰면 Erro
> r가
> 발생합니다. 그래서 user와 괄호를 뛰어서 'user (login, passwd)'와 같
> 이 하면
> 문제가 없습니다. 원인이 뭘까요?
>
> 참고로 MySQL버젼은 3.22.32입니다.
>
>
> [질문 2]
>
> 27라인에서 Error가 발생합니다.
>
> MySQL의 manual에 보니 auto_increment를 사용하면 된다고 되어 있는데
> 이해가 않됩니다. 또한 unique과 index의 사용을 mSQL에서는 table 생성후
> 에
> 나중에 하지만 MySQL에서는 table을 작성할때 같이 한다는 말도 있는데
> 역시 모르겠습니다. 해결책을 알려주시면 고맙겠습니다.
>
create table user ( ...........
primary key (login,passwd)
);
이렇게 create table 구문 내에서 정의해 주면 자동으로 인덱스가 생성됩니다.
> [질문 3]
>
> 19, 20라인의 decimal(12,2)은 mSQL에서는 meney 타입으로 사용하던 것인
> 데
> 고쳤습니다. 또한 22라인의 blob는 mSQL에서 char(512)로 사용하던것을 고
> 쳤
> 습니다. MySQL에서는 char 타입의 제한이 있어 text와 blob중에서 고치라
> 고
> manual에 적혀있었는데 text와 blob중에서 한글 검색을 하려면 어느것을
> 사용하는 것이 좋을까요?
둘중하나를 고르라고 하면 text가 나을것 같습니다. -.-
하지만 검색을 예정한다면 좋은 방법이 아닌것 같습니다.
> < P.S.>
>
> 아래의 SQL을 MySQL에서 사용하기 위해서 올바르게 다시 적는다면
> 어떻게해야 할까요. 정답을 가르쳐주시면 감사하겠습니다.
>
>
>
>
> 1 : create table user (
> 2 : login char(20) not null,
> 3 : passwd char(20) not null,
> 4 : sex char(7) not null,
> 5 : age int,
> 6 : job char(20),
> 7 : email char(30)
> 8 : );
> 9 :
> 10 : create unique index user_idx on user (login, passwd);
> 11 :
> 12 : create table product (
> 13 : pid int not null,
> 14 : name char(30) not null,
> 15 : model char(30) not null,
> 16 : maker char(30) not null,
> 17 : category char(30) not null,
> 18 : year char(4),
> 19 : price decimal(12,2),
> 20 : dc_price decimal(12,2),
> 21 : imgfn char(128),
> 22 : desp blob
> 23 : );
> 24 :
> 25 : create unique index product_idx on product (name, model, maker
> );
> 26 :
> 27 : create sequence on product step 1 value 0;
index 부분 중에서 primary key 로 지정할 것은 primary key 로 돌리고 나머지 부분에 대해서만 index를 만들어 주세요.
부분적이고 완벽하지는 않지만 원하시는 바는 해결이 될 것 같습니다.
|