Dette er kun et gæt, da du ikke har angivet dit skema, men er en af kolonnerne i din unikke nøgle nullbar?
Rediger:
Som @G-Nugget siger i kommentarerne, skal du bruge en unik nøgle på de pågældende kolonner:
http://dev.mysql.com/doc /refman/5.6/da/insert-on-duplicate.html
Du skal have en unik nøgle på kombinationen af kolonner, der skal være unik.
f.eks.:
ALTER TABLE yourTable ADD UNIQUE KEY (`canid`, `categoryid`);
Når du stiller databasespørgsmål, skal du også inkludere SHOW CREATE TABLE
for de pågældende tabeller.