Mysql
 sql >> Base de données >  >> RDS >> Mysql

Migration Ruby on Rails, deux clés primaires mais une seule auto-incrémentée

Vous ne pouvez pas avoir deux clés primaires sur une table.

Vous pouvez avoir deux clés candidates (appelées une clé dans les index/contraintes uniques MySQL dans d'autres bases de données)

Vous pouvez avoir une clé primaire composite composée de deux champs si vous le souhaitez. Je pense que c'est la syntaxe dans mySQL primary key (fieldA,fieldB)

Cependant, cela n'a guère de sens de faire une clé composite lorsque l'un des champs est une auto-incrémentation. Étant donné que l'auto-incrémentation fait déjà un unique par lui-même et chaque attribut autre que id en aurait une dépendance fonctionnelle. Inclure second_id dans la clé primaire ne vous aidera en rien.