Я застрял в запросе MySQL, используя ON DUPLICATE KEY UPDATE.
Я получаю сообщение об ошибке:
mySQL Error: 1062 - Duplicate entry 'hr2461809-3' for key 'fname'
Таблица выглядит так:
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;
И вот что ломает запрос:
INSERT INTO images SET picid=732, fname='hr2461809-3', path='pictures/' ON DUPLICATE KEY UPDATE picid=732, fname='hr2461809-3', path='pictures/'
Я использую очень похожий запрос в другом месте приложения без проблем. Я не уверен, почему этот ломается. Я ожидал, что когда UNIQUE KEY на fname будет нарушен, он просто обновит строку, где произошло нарушение?
Спасибо за любую помощь