Tengo una tabla como la siguiente:¿Cómo puedo crear una restricción única de SQL basada en 2 columnas?
|UserId | ContactID | ContactName
---------------------------------------
| 12456 | Ax759 | Joe Smith
| 12456 | Ax760 | Mary Smith
| 12458 | Ax739 | Carl Lewis
| 12460 | Ax759 | Chuck Norris
| 12460 | Bx759 | Bruce Lee
tengo que añadir una restricción a esta tabla para que ningún usuario puede tener duplicados de contacto de identificación. Los usuarios están importando datos de varios sistemas externos, por lo que ContactId no será único en todos los ámbitos, sino que será único por usuario.
Sé cómo crear contraints únicos y no nulos basados en columnas individuales, pero ¿cómo puedo crear contraints únicos en 2 columnas?
¿Cuál es la diferencia entre los dos métodos? ¿Hay ciertos casos en que uno es preferido sobre el otro? ¿El enfoque del índice será más rápido en un gran conjunto de datos? – Zapnologica
@Zapnologica Consulte esta otra pregunta sobre este tema específico: http://dba.stackexchange.com/questions/144/when-should-i-use-a-unique-constraint-instead-of-a-unique-index – Jonathan