This question already has an answer here:
The point of salting your password hashes is to prevent the attacker from using an off-the-shelf rainbow table. The salt needs to be unique per user, but doesn't need to be secret.
Why not use the username / user ID as a salt rather than staring a separate value in the DB. Is there some reason you'd need to change a user's salt in the future?
[I would have expected to find a question like this already, but I didn't. I also didn't look very hard]