Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ruby on Rails-Migration, zwei Primärschlüssel, aber nur einer wird automatisch inkrementiert

Sie können nicht zwei Primärschlüssel in einer Tabelle haben.

Sie können zwei Kandidatenschlüssel haben (in MySQL Unique-Indizes/Constraints in anderen DBs Schlüssel genannt)

Sie können einen zusammengesetzten Primärschlüssel haben, der aus zwei Feldern besteht, wenn Sie möchten. Ich denke, das ist die Syntax in mySQL primary key (fieldA,fieldB)

Es macht jedoch wenig Sinn, einen zusammengesetzten Schlüssel zu erstellen, wenn eines der Felder ein Autoinkrement ist. Da das Autoincrement bereits ein Unikat für sich und jedes Attribut außer dann id macht hätte eine funktionale Abhängigkeit davon. Das Einfügen von second_id in den Primärschlüssel wird Ihnen nicht weiterhelfen.