안녕하십니까?
MySQL을 공부하고 있는 초보입니다.
PHP와 mSQL을 이용한 예제를 하나 구해서 MySQL로 변환을 하려고 합니다.
MySQL manual을 살펴 보았으나 이해가 잘 되지 않아 몇가지 문의를 드립니다.
아래에 예제로 이용한 SQL Table 구조가 있습니다.
예제 1~10라인의 user table의 작성은 별 문제가 없이 되었습니다.
그런데 10라인의 user (login, passwd)부분이 조금 이상 합니다.
[질문 1]
'user(login, passwd)'와 같이 user와 여는 둥근 괄호'('를 붙여 쓰면 Error가
발생합니다. 그래서 user와 괄호를 뛰어서 'user (login, passwd)'와 같이 하면
문제가 없습니다. 원인이 뭘까요?
참고로 MySQL버젼은 3.22.32입니다.
[질문 2]
27라인에서 Error가 발생합니다.
MySQL의 manual에 보니 auto_increment를 사용하면 된다고 되어 있는데
이해가 않됩니다. 또한 unique과 index의 사용을 mSQL에서는 table 생성후에
나중에 하지만 MySQL에서는 table을 작성할때 같이 한다는 말도 있는데
역시 모르겠습니다. 해결책을 알려주시면 고맙겠습니다.
[질문 3]
19, 20라인의 decimal(12,2)은 mSQL에서는 meney 타입으로 사용하던 것인데
고쳤습니다. 또한 22라인의 blob는 mSQL에서 char(512)로 사용하던것을 고쳤
습니다. MySQL에서는 char 타입의 제한이 있어 text와 blob중에서 고치라고
manual에 적혀있었는데 text와 blob중에서 한글 검색을 하려면 어느것을
사용하는 것이 좋을까요?
< 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;
부끄러운 질문을 읽어 주셔서 감사합니다.
|