2008-10-28 2 views
4

저는 PHP와 MySQL을 사용하여 매우 간단한 프로그램을 만들 계획입니다. 기본 페이지는 정보를 가져 와서 해당 정보로 데이터베이스에 새로운 행을 만듭니다. 그러나 기본 키를 넣으려면 숫자가 필요합니다. 불행히도, 나는 사용할 umber를 결정하는 일반적인 방법에 대해서는 잘 모릅니다. 가급적이면, 행을 삭제하면 해당 행의 키가 재사용되지 않습니다.기본 키의 번호를 결정하는 표준 방법은 무엇입니까?

사전 검색에서 mySQL의 AUTOINCREMENT 키워드가 나타납니다. 그러나, 나는 그것이 내가 원하는 것과이 문제에 대한 공통된 해결책이 무엇인지 알기를 여전히 원합니다.

답변

19

가 자동으로 고유 키를 생성하는 표준 방법입니다. 그것은 1 (또는 0, 나는 기억할 수 없다. 그리고 그것은 중요하지 않다)에서 시작될 것이고, 그 다음 새로운 기록이 테이블에 추가 될 때마다 증가 할 것이다. 레코드가 삭제되면 해당 키는 이 아니며이 다시 사용됩니다.

4

AUTOINCREMENT는 원하는 것입니다. 테이블 설정을 변경하지 않는 한 AUTOINCREMENT는 계속 증가 할 것입니다. standard solution.

CREATE TABLE animals (
    id MEDIUMINT NOT NULL AUTO_INCREMENT, 
    name CHAR(30) NOT NULL, 
    PRIMARY KEY (id) 
); 
1

AUTOINCREMENT있어 MySQL의에서

1

자동 증가 기본 키는 어느 주에 어떤 DBA와 통화하는지에 따라 상대적으로 표준입니다.

기본 신원 정수가 약 20 억 개의 행 (mySQL의 경우 이가 맞습니까?)에 도달 할 것으로 예상되므로 방을 모두 사용하기 전에 모자를 쓰는 것에 대해 걱정할 필요가 없습니다.

1

AUTO_INCREMENT는 일반적으로 선택하는 것으로, 삽입하는 모든 새 행에 1부터 시작하는 숫자를 설정합니다. 사용할 숫자를 알아내는 모든 작업은 db에 의해 수행됩니다. 필요하다면 삽입 한 후에 다시 묻습니다 (PHP에서 mysql_last_insertid를 호출하여 얻을 수 있습니다)

6

자신의 PK를 생성하면 자동 증가를 사용하면 충분합니다. 그런 식으로 데이터베이스가 키를 관리합니다. 행을 삽입 할 때 기본 키 열을 생략해야합니다.

당신은 기본 키가 어디 있는지 테이블 테이블 = (A, B는 C)를 삽입 문이 테이블 (B, C) 값 ('BBB', 'CCC에

삽입 될 말해봐 ')

그리고 기본 키는 데이터베이스에 의해 자동으로 삽입됩니다.

0

간단한 자동 증가가 가장 좋습니다. 궁극적으로 많은 항목을 가지고 더 복잡한 뭔가 들어, 난 GUID를 생성하고 키로 삽입합니다.

관련 문제