테스트 사이트 - 개발 중인 베타 버전입니다

mysql 질문입니다. 채택완료

soulfood 10년 전 조회 3,411

 

 

-아이디 (mysql에서  g4_member table 에서 mb_id)의 타입은 바챠입니다. 

즉 문자죠.. 

 

그런데 저는 마치 일련 번호처럼 1001  1002   1003  ~~ 1105 이런 식으로 자동으로 증가하게 하고 싶습니다. 

 

아이디 생성 및 부여도 관리자가 하길 원하구요 

 

음. 그래서 DB안에 들어가서 조작하려고 헀을때, 

 


이게 기본이지 않습니까 (추가 : 오토 인크리먼트는 제가 한거고요 ) 

그런데 제가 말한것처럼 오토 인크리먼트를 하려고 하면, 기본적으로 인트형이어야 하지 않나 싶습니다. 

 

 

인트형에 길이는 알아서 설정하면 될 것이고, 콜렉션은 문자형이 아니니 필요없게 될 것이고요 

그 다음에 오토 인크리먼트를 해보면 될까요? 

 

어찌해야할까요 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
P
10년 전
auto_increment는 int에 primary_key인 컬럼에만 지정할 수 있습니다.
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

P
PWneo
10년 전
차라리 관리자페이지 회원등록부분에서 아이디값을 자동으로 등재하는 방식이 어떨까 싶네요.
아이디를 저장하는 SQL 구문 부분에서
mb_id = ((SELECT mb_id FROM {$g5['g5_member_table']} ORDER BY mb_id desc limit 0,1)+1)
같은 식으로 하시는게...

댓글을 작성하려면 로그인이 필요합니다.

p
10년 전

전혀 다른방법으로 해당 DB 인서트 시

마지막 mb_id 를 가져와서 거기서 +1 시키는 방법도 있습니다.

 

예를 들면 SELECT MAX(mb_id) FROM `테이블` LIMIT 1 등으로 가져온 데이터에 +1 하는거죠

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

s
soulfood
10년 전
아이디를 인트형으로 하여 오토 인크리먼트 하려고 하니까 역시 오류가 뜨더라구요 port443님 말씀처럼 하여 처리하였습니다 감사합니다 :)

댓글을 작성하려면 로그인이 필요합니다.

p
10년 전

네... 설명하신 형식으로 하시면 될 것 같구요.

하지만 처음 일련번호값인 1001을 데이터베이스에서 기본값으로 지정해 줘야 할 것 같습니다. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

s
soulfood
10년 전
기본값으로 어떻게 지정을 할 수 있을까요? ㅎ 바쁘신 와중에 답변 주시면 너무 감사하겠습니다 !
p
port
10년 전
위에 컬럼 이미지 올리신 부분에 보면 "기본값"이라고 있잖습니까? 거기에서 As defined 선택해서 값을 1001로 선택해 주시면 될 겁니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인