2012-01-16 2 views
0

MySQL 테이블이 있고 테이블에 id이있는 행이 있고 그 테이블에 auto_incremented이 있다고 가정 해 봅시다. MySQL 쿼리와 PHP를 통해 행을 추가한다고 가정 해 보겠습니다. 첫 번째 행은 id1입니다. 그런 다음 id2 인 두 번째 행을 수동으로 추가합니다 (phpmyadmin을 통해). PHP를 통해 세 번째 MySQL 삽입을 수행하면 ... id은 세 번째 행 ... 2 또는 3 일 수 있습니까?MySQL AUTO_INCREMENT 설명서

질문은 ... auto_increment은 수동 입력을 고려합니까?

+0

왜 테스트 데이터베이스에서 시험해 보지 않으시겠습니까? ;-) – stefandoorn

+1

충돌이 발생하지 않으므로 다음 충돌이 발생합니다. 그러나 auto_increment 필드의 값을 수동으로 변경하거나 변경해서는 안됩니다. 데이터베이스에서 처리하도록하십시오. –

+0

@ N.B. 충돌을 일으키지 않을 것이라고 확신합니까? 나는 그것을 테스트하고 중복 키 오류가 발생했습니다. – Konerak

답변

2

auto_increment는 수동 입력을 고려합니까?

예. 하지만 ID를 수동으로 입력하지 않았 으면 좋겠습니까? :-) (수동 또는 프로그램 방식으로) 삽입 할 때이 필드를 그대로두면 MySQL이 처리합니다.

1

MySQL은 수동 입력을 허용하며 사용자가 제공하는 값을 설정하려고 시도합니다. 값이 존재하지 않으면 삽입되고 그렇지 않으면 중복 키 오류가 발생합니다.

  • 는 값 스스로 결정하고자 할 때 (예를 들어 당신이 라인을 삭제 , 지금은 테이블의 동일한 행을 원하는) 값을 넣습니다.
  • 에 자동 증가를 사용하려면 NULL을 입력하거나 열을 삽입 바깥에 두십시오.

응용 프로그램에서 자동 증가 값을 입력 할 값을 선택하면 문제가 발생할 가능성이 큽니다.

관련 문제