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

Gemeinsamer Primärschlüssel

Es ist nicht wirklich üblich, nein. Es gibt keine native Möglichkeit, einen Primärschlüssel zu teilen. Was ich in Ihrer Situation tun könnte, ist Folgendes:

product_table
    id
    name
    category
    general_fields...

product_type1_table:
    id
    product_id
    product_type1_fields...

product_type2_table:
    id
    product_id
    product_type2_fields...

product_to_category_table:
    product_id
    category_id

Das heißt, es gibt eine Hauptprodukttabelle, die Einträge für alle Produkte und die Felder hat, die zwischen den Typen verallgemeinern, und typspezifische Tabellen mit Fremdschlüsseln in der Hauptprodukttabelle, die die typspezifischen Daten enthalten.