sql >> Database >  >> RDS >> Mysql

Ruby on Rails-migratie, twee primaire sleutels maar slechts één automatisch verhoogd

U kunt geen twee primaire sleutels op een tafel hebben.

U kunt twee kandidaatsleutels hebben (een sleutel genoemd in MySQL Unieke indexen/beperkingen in andere DB's)

U kunt desgewenst een samengestelde primaire sleutel hebben die uit twee velden bestaat. Ik denk dat dit de syntaxis is in mySQL primary key (fieldA,fieldB)

Het heeft echter weinig zin om een ​​samengestelde sleutel uit te voeren wanneer een van de velden een auto-increment is. Aangezien de auto-increment al een uniek maakt op zichzelf en elk attribuut behalve dan id zou er een functionele afhankelijkheid van hebben. Het opnemen van second_id in de primaire sleutel zal u niet helpen.



  1. MYSQL-update vanuit dezelfde tabel

  2. Hoe PgBouncer-logboeken draaien in Linux/Windows?

  3. Verbinding maken met MySQL vanaf andere machines

  4. SQL Server 2016:Queryresultaten opslaan in een CSV-bestand