중복 키 업데이트를 사용하여 mySQL 쿼리가 작동하지 않습니다.mysql 중복 중복 키 업데이트
mySQL Error: 1062 - Duplicate entry 'hr2461809-3' for key 'fname'
표는 다음과 같습니다 :
I 오류지고있어 내가 사용
INSERT INTO images SET picid=732, fname='hr2461809-3', path='pictures/' ON DUPLICATE KEY UPDATE picid=732, fname='hr2461809-3', path='pictures/'
:
id int(10) NOT NULL default '0',
picid int(10) unsigned NOT NULL default '0',
fname varchar(255) NOT NULL default '',
type varchar(5) NOT NULL default '.jpg',
path varchar(255) NOT NULL default '',
PRIMARY KEY (id),
UNIQUE KEY fname (fname),
KEY picid (propid)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
그리고 깨고 쿼리하는 것은 이것이다 아무 문제없이 앱의 다른 위치에서 매우 유사한 쿼리. 나는 왜 이것이 깨지는 지 모르겠습니다. fname에 대한 고유 키가 침해 당하면 단순히 위반이 발생한 행을 업데이트 할 것이라고 예상 했습니까? 어떤 도움
왜 INSERT 명령으로 SET을 사용합니까 ??? – animuson
@animuson 그게 뭐가 잘못 되었 니? 지정되지 않은 필드는 기본값이나 NULL (허용되는 경우)로 설정됩니다. – rjh
@rjh :'(picid, fname, path) VALUES (732, 'hr2461809-3', 'pictures /')'를 사용하는 것이 잘못된 이유는 무엇입니까? 언어를 혼란스럽게 만드는 것은 이런 것들입니다. 왜 모든 사람들이 INSERT VALUES에 충실 할 수 없습니까? – animuson