Cara, nome não é legal para PK, não tem como tu criar um código, alguma coisa assim... quando tu procura por where nome = ... ele deve retornar apenas um registro pois, como tu mesmo falou, ele é chave primária, ou seja, sem duplicação autorizada... Acho que esse é o teu maior problema...