2017-11-09 1 views
0
내가 "짜잔 베르트"API를 사용하고 있는데이 같은 DB 테이블에 결과를 저장하고 싶은

: 예를 들어, 내가 설정 (SQL : 삽입 또는 업데이트 명령

email_Norbert (
id Integer(11) NOT NULL AUTO_INCREMENT, 
idUser Integer(11) NOT NULL, 
email  VarChar(50) CHARACTER SET latin1 COLLATE latin1_swedish_ci, 
score  Integer(2), 
existence TinyInt(1), 
PRIMARY KEY (
     id 
) 

이 사실 나는이 쿼리를 사용 값하지만) 각 idUser 위해 매번 변경 :

INSERT INTO email_Norbert (idUser,email,score) 
VALUES (2 ,'MyEmailHere',100) 
ON DUPLICATE KEY UPDATE idUser = 2,email = 'MyEmailHere', score = 100 

레코드가 이미 존재하지만, 내가 다른 레코드를 추가 않습니다 잘 실행 삽입.

어떻게해야합니까?

+0

나는 유명한 ... 몰랐다. –

+0

하하 : D. 어떤 아이디어? –

+0

잘 모르겠지만 삽입이 실패 할 것으로 예상되는 경우 idUser를 포함하도록 기본 키를 설정해야합니다 ( – SmartDumb

답변

1

동일한 사용자에 대한 후속 삽입을 실패로 대신 업데이트하려면 iduser 열에 고유 색인을 추가하십시오.

create unique index email_Norbert_u1 on email_Norbert(iduser) 
+0

작업 중! 너무 고마워요 : D –

+0

3 초 늦었습니다. 솔루션 : P가 있지만 좀 더 명확히하기 위해 적어도 하나의 열은 업데이트 작업에 대해 고유해야한다고 말하고 싶습니다. –