-아이디 (mysql에서 g4_member table 에서 mb_id)의 타입은 바챠입니다.
즉 문자죠..
그런데 저는 마치 일련 번호처럼 1001 1002 1003 ~~ 1105 이런 식으로 자동으로 증가하게 하고 싶습니다.
아이디 생성 및 부여도 관리자가 하길 원하구요
음. 그래서 DB안에 들어가서 조작하려고 헀을때,
이게 기본이지 않습니까 (추가 : 오토 인크리먼트는 제가 한거고요 )
그런데 제가 말한것처럼 오토 인크리먼트를 하려고 하면, 기본적으로 인트형이어야 하지 않나 싶습니다.
인트형에 길이는 알아서 설정하면 될 것이고, 콜렉션은 문자형이 아니니 필요없게 될 것이고요
그 다음에 오토 인크리먼트를 해보면 될까요?
어찌해야할까요
|
답변 3개 / 댓글 4개
채택된 답변
+20 포인트
PWneo
2015-02-24 (화) 09:54:17
auto_increment는 int에 primary_key인 컬럼에만 지정할 수 있습니다.
답변에 대한 댓글 1개
PWneo
2015-02-24 (화) 10:00:17
port443
2015-02-24 (화) 10:01:03
전혀 다른방법으로 해당 DB 인서트 시
마지막 mb_id 를 가져와서 거기서 +1 시키는 방법도 있습니다.
예를 들면 SELECT MAX(mb_id) FROM `테이블` LIMIT 1 등으로 가져온 데이터에 +1 하는거죠
답변에 대한 댓글 1개
soulfood
2015-02-24 (화) 11:14:06
아이디를 인트형으로 하여 오토 인크리먼트 하려고 하니까 역시 오류가 뜨더라구요 port443님 말씀처럼 하여 처리하였습니다 감사합니다 :)
2015-02-24 (화) 09:55:43
네... 설명하신 형식으로 하시면 될 것 같구요.
하지만 처음 일련번호값인 1001을 데이터베이스에서 기본값으로 지정해 줘야 할 것 같습니다.
답변에 대한 댓글 2개
soulfood
2015-02-24 (화) 09:58:36
기본값으로 어떻게 지정을 할 수 있을까요? ㅎ 바쁘신 와중에 답변 주시면 너무 감사하겠습니다 !
2015-02-24 (화) 10:03:35
위에 컬럼 이미지 올리신 부분에 보면 "기본값"이라고 있잖습니까? 거기에서 As defined 선택해서 값을 1001로 선택해 주시면 될 겁니다.
답변을 작성하려면 로그인이 필요합니다.
아이디를 저장하는 SQL 구문 부분에서
mb_id = ((SELECT mb_id FROM {$g5['g5_member_table']} ORDER BY mb_id desc limit 0,1)+1)
같은 식으로 하시는게...