Най-вероятно вече имате ограничение с името iduser
или idcategory
във вашата база данни. Просто преименувайте ограниченията, ако е така.
Ограниченията трябва да са уникални за цялата база данни, а не само за конкретната таблица, която създавате/променяте.
За да разберете къде се използват ограниченията в момента, можете да използвате следната заявка:
SELECT `TABLE_SCHEMA`, `TABLE_NAME`
FROM `information_schema`.`KEY_COLUMN_USAGE`
WHERE `CONSTRAINT_NAME` IN ('iduser', 'idcategory');