Либо используйте:
INSERT IGNORE INTO `usertranslation`(`id_translation`, `id_user`) VALUES ('20','5')
, который не будет вставлять новую строку (без ошибки), если существуют существующие ограничения, конфликтующие с новой строкой, или INSERT
с SELECT
и , а не VALUES
:
INSERT INTO `usertranslation`(`id_translation`, `id_user`)
SELECT '20', '5'
WHERE NOT EXISTS (
SELECT 1 from `usertranslation`
WHERE `id_translation` = '20' AND `id_user` = '5'
)