Yes, or declare a PK using a combination from the current fields ... but given the circomstances that doesn't seem like a good option.
If you want to guarantee that you can pinpoint a certain record in the table you need a PK. Otherwise (without a PK) there is no technical guarantee. Maybe a functional guarantee, but specs change during a period of time.
> SELECT * FROM users WHERE clue > 0;
Empty set (0.00 sec)