sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo crear una clave externa que también sea una clave principal en MySQL?

Añadir FOREIGN KEY (sale_id) REFERENCES Sale(sale_id) a cada tabla extranjera:

CREATE TABLE Sale(
    sale_id CHAR(40),
    PRIMARY KEY(sale_id),
    discount DOUBLE,
    type VARCHAR(255),
    price DOUBLE
) ENGINE=INNODB;

CREATE TABLE Normal_Sale(
    sale_id CHAR(40),
    PRIMARY KEY(sale_id),
    FOREIGN KEY (sale_id) REFERENCES Sale(sale_id)
) ENGINE=INNODB;

CREATE TABLE Special_Sale(
    sale_id CHAR(40),
    PRIMARY KEY(sale_id),
    FOREIGN KEY (sale_id) REFERENCES Sale(sale_id)
) ENGINE=INNODB;

Solo asegúrese de que su base de datos sea InnoDB que admite referencias extranjeras.