A FOREIGN KEY enforces referential integrity by ensuring the child column values exist in the referenced parent column. It does not by itself enforce uniqueness (the referenced column may be a primary/unique key). It does not automatically prevent NULLs unless specified, nor does it necessarily create a UNIQUE index on the child.
Discusssion
Login to discuss.