2017-05-10 7 views
2

MySQL TableMySQL의 phpMyAdmin에 오류 # 1062 - 항목을 중복 '0'키 'PRIMARY'에 대한

가 지금은 기본 키 id 열을 추가 할 수 있지만 오류 발생 : 이미 시도

#1062 - Duplicate entry '0' for key 'PRIMARY'

을 이것은 : 당신은 당신이 될 컬럼에 알 수 있습니다 외에 (이있을 것이다 느릅 나무 값을 지정해야합니다 있도록 새 열을 생성 Add primary key to existing table

+0

테이블에서 ID 0 인 항목이 두 개 이상 있음을 알 수 있습니다. 기본 키는 고유해야합니다. 따라서 기본 키를 추가하기 전에 ID를 고유하게 만들어야합니다. – Jens

+0

@Jens 수동으로 변경해야합니까? –

+0

네, 그렇게 생각합니다 .. – Jens

답변

2

, 디폴트 값은 (0이됩니다 귀하의 경우) asigned한다 자동 연결 remental, 그리고 새로운 행의 항목에 대한 작업을 수행합니다).

SET @new_id=0; 
UPDATE your_table 
SET id = @new_id := @new_id + 1 
where id = 0 
+1

이 동급생을 알고 있지만 기본 키를 추가하는 것을 잊었습니다 –

+0

mysql에서 테이블을 업데이트하는 방법을 추가했습니다. 이제는 어떻게 할 수 있는지 알 수 있습니다. –

+1

고마워요. –

0

먼저 테이블의 ID를 변경하십시오 : 당신은 그들 사이의 differents로 모든 값을 변경해야, 아이디 키는 MySQL의에서 당신이 할 수있는,

의 모든 ID를 변경하려면 고유해야합니다 아래 쿼리와 함께

SET @counter = 1 
UPDATE #tablename 
SET @counter = id = @counter + 1 

그런 다음 기본 키를 적용하십시오.

+0

upvoted 다음 오류가 표시됩니다. # 1064 - SQL 구문에 오류가 있습니다. 'DECLARE counter int SET counter = 0 UPDATE images_proposals SET counter ='on line 1 근처에서 사용할 올바른 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. –

+0

게시자가 삭제하지 못하게했습니다. –