[eluser]bretticus[/eluser]
Having read this thread more in depth, having unique salt (even if stored in the same database record) does allow the attacker to create a rainbow table to attack just one record (by the way, you don't have to generate a whole table, you just hash the salt against a dictionary until you find a match.) However, this would slow the attacker down as he or she has to run a dictionary attack for each salt and password hash record in the database. Not a bad idea really.