Kemungkinan besar Anda sudah memiliki kendala dengan nama iduser atau idcategory dalam basis data Anda. Ganti nama batasannya jika demikian.
Batasan harus unik untuk seluruh database, bukan hanya untuk tabel tertentu yang Anda buat/ubah.
Untuk mengetahui di mana batasan saat ini digunakan, Anda dapat menggunakan kueri berikut:
SELECT `TABLE_SCHEMA`, `TABLE_NAME`
FROM `information_schema`.`KEY_COLUMN_USAGE`
WHERE `CONSTRAINT_NAME` IN ('iduser', 'idcategory');