2013-02-11 2 views
0

사용자 프로필 정보를 저장하는 데이터베이스 테이블이 있습니다. 가끔 사용자가 등록 할 때 동일한 레코드가있는 추가 열과 중복되는 경우가 있습니다.MySQL이 열을 고유로 변경합니다.

따라서 사용자가 등록 할 때 dup이 아닌지 확인하기 위해 고유 열을 전자 메일에 입력했는지 궁금합니다.

ALTER TABLE users ADD UNIQUE idx_row_unique(email); 

그러나 고유 오류를 줄 경우

, 내가 그것을 어떻게 실행 취소 않습니다

는 나는 이런 식으로 뭔가해야한다고 생각?

내가 변경 한 후, 그것을 취소하는 방법을 모르겠습니다.

답변

2

이메일이 중복되면 alter table이 실패해야합니다. 그래서 너는 그걸로 안전 해!

+0

함수와 마찬가지로 데이터베이스는 2 열을 동일하게 만듭니다. –

+0

이유가 없기 때문에 함수 레지스터가 사용자와 2 회 동일하게 저장되었습니다. 그래서, 나는 그것을 확인하고 하나를 유지하고 다른 하나를 제거하고 싶다. –

+1

이제 필드에 같은 메일이 두 번 있으면'alter table' 문이 실패합니다. 미래에는 데이터베이스에 데이터를 저장하는 기능이있는 경우 새 조건을 고려하여이를 변경해야합니다. – GeorgeVremescu

0

먼저 테이블 구조와 데이터를 내보내겠습니다. 그렇게하면 다시 넣을 수 있습니다. 바로 SQL이 있습니다.

+0

내보낼 방법이 있습니까? 나는 데이터베이스를 만들지 않았다 –

+0

데이터베이스에 대한 phpMyAdmin에 액세스 할 수있는 경우 내보내기 기능이 있습니다. 내가 코드를 통해 할 수있는 방법이 없다. – tjfo

+0

... 나는 cmd를 사용하고있다. –

관련 문제