phpmyadmin에서 자동 증가


96

PHP, MySQL 및 phpMyAdmin을 사용하는 기존 데이터베이스가 있습니다.

사용자가 내 웹 사이트에서 회원이 될 때 5 자리 숫자를 사용하여 고유 한 회원 번호를 생성하는 시스템이 필요합니다. 예를 들어 83773. 내 회원 번호 만 원하는 것을 제외하고는 임의의 암호를 생성하는 것과 같습니다. 이 ID 번호는 각 회원에게 고유해야합니다.

내 사용자 테이블에서 기본 키를 auto_increment로 설정하고 10000에서 시작하도록 설정 한 다음 멤버가 등록 할 때마다 자동 증가하도록 설정할 수 있습니까?

또한 기본 키 ID 번호가 올라갈 수있는 최대 개수가 있습니까?

기본 키 ID 번호를 회원 번호로 사용하는 안정적이고 안전한 방법입니까?


3
아래의 사람들 중 일부는 기본 키에 대한 상한이 없다고 대답했지만 상한은 선택한 데이터 유형의 최대 크기라고 가정합니다 ... 아마도 틀렸을 수도 있지만 그렇지 않을 수도 있습니다. 4294967295의 최대 값으로 제한됩니까? dev.mysql.com/doc/refman/5.0/en/numeric-types.html
Sam

수락 된 답변을 선택하십시오. 나는 이것이 하나라고 생각 stackoverflow.com/a/18942684/248616
남 G VU

답변:


202

열에 대해 자동 증가를 활성화하는 가능한 단계가 있습니다. phpMyAdmin 버전이 3.5.5라고 생각하지만 확실하지 않습니다.

테이블 > 구조 탭을 클릭하고 > 작업에서 기본 (기본으로 설정)을 클릭 하고 팝업 창 에서 변경 을 클릭 한 다음 왼쪽으로 스크롤하여 확인합니다. A_I를 . 또한 기본값으로 없음 을 선택했는지 확인하십시오.여기에 이미지 설명 입력


5
자동 포함 기능이 작업 탭에서 제거되었으므로 지금 구현하는 방법 인 것으로 보입니다. 감사합니다, @AmitKB.
Mike S.

2
그러나 시도했을 때이 오류가 발생했습니다. Query error: #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
Yaakov Ainspan

메시지는 분명합니다. 자동 열을 두 개 이상 사용하려고 할 수 있습니다.
Amit Bhagat

1
비슷한 문제가
있었는데 이로 인해

1
와, 너무 간단합니다. 왜 아무도 이것을 언급하지 않았습니까? 이런 답을 찾는 데 너무 오래 걸렸습니다. 지금까지 가장 좋은 대답입니다.
oldboy

53

phpMyAdmin에서 해당 테이블로 이동하여 "Operations"탭을 클릭합니다. 테이블 옵션 아래 왼쪽에서 현재 AUTO_INCREMENT 값을 설정할 수 있습니다.


5
이 작업을 수행 할 때 auto_increment 추가와 관련된 유일한 두 가지 옵션은 "테이블 이동"또는 "테이블 복사"입니다. 나는 테이블을 이동하거나 복사하지 않고 단순히 auto_increment를 추가합니다. 무슨 일이야 ?? MySQL v5.6을 사용하고 있습니다.
oldboy

@oldboy 나는 당신과 같은 것을 얻습니다. 아마도 그들은 XAMPP PhpMyAdmin의 최신 버전에서 기능을 제거했을 것입니다
kevind

21

간단한 MySQL 쿼리를 실행하고 원하는대로 자동 증가 번호를 설정하기 만하면됩니다.

ALTER TABLE `table_name` AUTO_INCREMENT=10000

최대 값에 관해서는 내가 아는 한 하나도 없으며 그러한 수를 제한 할 방법이 없습니다.

ID 번호를 기본 키로 설정하고 자동 증분 int를 설정하는 것이 완벽하게 안전하고 일반적인 관행입니다. PHP를 사용하여 특정 형식으로 회원 번호를 생성 한 다음 삽입하기 전에 번호가 존재하지 않는지 확인하는 것과 같은 대안이 있지만 개인적으로 기본 ID auto_inc 값을 사용합니다.


10
  1. 테이블의 "구조"탭에서
  2. auto_increment를 원하는 변수의 연필을 클릭하십시오.
  3. "추가"탭에서 "auto_increment"를 선택하십시오.
  4. 그런 다음 테이블의 "작업"탭으로 이동하십시오.
  5. "테이블 옵션"-> auto_increment 유형-> 10000에서

2

phpMyAdmin에서 테이블의 필드를 자동 증가로 설정 한 다음 행을 삽입하고 해당 필드의 값을 10000으로 설정하면 계속됩니다.


2

@AmitKB, 귀하의 절차가 정확합니다. 이 오류가

쿼리 오류 : # 1075-잘못된 테이블 정의; 자동 열은 하나만있을 수 있으며 키로 정의해야합니다.

먼저 필드를 키로 표시 (기본 레이블이있는 키 아이콘 사용)하여 해결할 수 있습니다. 다른 키가 없으면 작동하지 않을 수 있습니다.


phpMyAdmin으로 플레이 한 지 너무 오래되었습니다. 어떻게해야하는지 잊어 버렸습니다. 이 2 차 문제를 해결해 주셔서 감사합니다. 그것은 나를 위해 일했습니다.
rncrtr

0

최대 값을 설정할 수 없습니다 (큰 숫자를 보유 할 수없는 데이터 유형을 선택하는 것 외에는 요청한 제한이없는 데이터 유형을 선택하는 것 제외). 삽입 후 LAST_INSERT_ID ()로 확인하여 새로 생성 된 멤버의 아이디를 얻고, 너무 크면 애플리케이션 코드에서 처리 (예 : 멤버 삭제 및 거부).

상한을 원하는 이유는 무엇입니까?


0

이는 모든 ID가로 설정되지 않은 wp_terms, wp_termmetawp_term_taxonomy테이블 때문입니다.AUTO_INCREMENT

phpMyAdmin을이 이동하려면 문제 데이터베이스를 클릭 wp_terms하면 탭의 이름이 표시됩니다 오른쪽에, 구조 탭을 클릭, 테이블 A_I(AUTO_INCREMENT)경우, 당신은 첫 번째 옵션이 일을하는 (그것을 확인하고 저장 wp_term당신이 그것을 위해서만term_id .

동일한 작업을 수행 wp_termmeta하고 wp_term_taxonomy그 문제를 해결합니다.


OP가 WordPress를 사용하고 있다고 생각하는 것 같습니다. 해당 정보를 어디서 찾았습니까? 질문에서 WP에 대한 참조를 찾을 수 없습니다.
Raul Sauco

0

(a) 데이터베이스를 클릭하고 테이블을 선택하기 만하면됩니다. '작업'을 클릭하십시오. '테이블 옵션'섹션에서 AUTO_INCREMENT 값을 원하는 값으로 변경합니다.이 경우 10000은 '이동'을 클릭합니다. (첨부 된 이미지 참조)

(b) 또는 테이블을 선택한 후 SQL 탭에서 SQL 명령을 실행할 수 있습니다. 'ALTER TABLE table_name AUTO_INCREMENT = 10000;'을 입력하면됩니다. 그런 다음 '이동'을 클릭하십시오. 그게 다야 !! 자동 증가 값 설정 이미지 (a)

자동 증가 값 설정 이미지 (B)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.