just adding the explanation to above Answer
1)Primary Key by definition cannot be null,
Means if you have specified primary on column(s) then those column wont accept null values
and primary key create column not null and if you have existing table and on column(s) you want to add primary key constraint then those column has to be not null.
primary key constraint can be on one or multiple column.
unique key can accept null values,
Means you have implemented unique key constraint on column then one unique key`s row(s)
can accept null value ONE AND ONLY ONE NOT MORE THAN THAT.
3)Also by default Primary key is created as clustered index and unique key is created as non clustered index
means :
If there is no cluster index already defied on table then only primary key creates CLUSTERED INDEX
else primary key create NON clustered index, however you can make primary key with
non cluster index as well.
and you can also create unique key with CLUSTERED INDEX as well,
ref :
http://www.tutorialsqlserver.com/Create/Create-Primary-key-In-Sql-Server.htm