2013-09-06 1 views
10

phpMyAdmin에서 데이터베이스를 다른 이름으로 복사하려고 했으므로 데이터베이스를 정확히 동일하게 두었습니다. 하나는 내 oringinal이고 다른 하나는 준비가 된 웹 사이트에서 테스트하기위한 것입니다.phpMyAdmin에서 "AUTO_INCREMENT 값을 추가하십시오"란 의미는 무엇입니까?

세 가지 주요 옵션

structure only 
structure and data 
data only, 

내가 그러나 더 체크 박스 옵션은 아래에있다, 구조 및 데이터를 필요가있다;

CREATE DATABASE before copying //was checked by default 
Add DROP TABLE/DROP VIEW 
Add AUTO_INCREMENT value //was checked by default 
Add constraints 
Switch to copied database 

"AUTO_INCREMENT 값을 추가"내가 구조를 복사하면 데이터가 AI있는 모든 필드가 복사됩니다 나던 "제약 조건 추가"를 의미하고 무엇을?

답변

9

구조 및 데이터를 포함하는 데이터베이스를 내보내거나 가져올 때 phpmyadmin은 원래 상태와 동일한 상태로 복원합니다. 데이터베이스를 복사 할 때도 마찬가지입니다.

Add AUTO_INCREMENT value 복원 된 데이터베이스를 올바르게 사용할 수 있도록 auto_increment 값을 올바르게 설정하면됩니다. phpmyadmin이 auto_increment가 각 삽입시 증가되지 않는 일종의 대량 삽입을 수행하는 경우에 필요합니다. 올바른 값을 설정하려면 테이블에 데이터를 삽입 한 다음 삭제할 수 있으므로 데이터 일관성을 유지하려면 정확한 ID뿐만 아니라 사용 된 ID도 사용하지 않아야합니다 오래 된 행에 의해.

Add constraints은 정확히 데이터베이스의 테이블에있는 모든 제약 조건을 복원한다는 의미입니다. complet 덤프를 원할 경우에도 필요합니다.

당신이하려는 일에 대해 아마도 데이터베이스 복제가 더 좋을 것입니다.

복제 herehere에 대한 정보를 찾을 수 있습니다.

+1

에 제약 조건 (예 : 외래 키 제약 조건)에있는 테이블을 복사하면 데이터베이스가 다른 이름으로 복사됩니다. – IEnumerable

+1

오케이, 미안하다. 하지만 내 대답은 변하지 않습니다. – Geoffroy

+0

ok 멋지다, 어디에서 DB 복제 유틸리티를 찾을 수 있습니까 – IEnumerable

3

"AUTO_INCREMENT 값 추가"및 "제약 조건 추가"확인란을 선택하면 새 테이블은 복사 된 테이블과 같은 다음 자동 인덱스 및 제약 조건을 가져야합니다. AI가있는 모든 필드가 채워짐

+1

그래서 복제 데이터베이스를 만들고 싶다면이 두 값을 선택해야합니까? – IEnumerable

+0

그렇습니다. @Geoffroy가 일관성을 유지해야한다고 말합니다. –

+0

복제 된 DB –

2

"Add AUTO_INCREMENT"는 새로 복사 된 데이터베이스에서 자동 증가를 계속합니다. 선택을 해제하면 해당 필드에서 자동 증가가 중지됩니다. 그래서 우리가 새로운 데이터베이스에 자동 증가를 유지하기를 원한다면 "AUTO_INCREMENT 추가"를 체크하십시오.

관련 문제