Hallo, folgender SQL-Code erstellt u.a. einen Fremdschlüssel auf den Primärschlüssel der eigenen Tabelle. Was soll das bringen? Was haben sich die Entwickler dabei gedacht? Kenne die Referenzierung nur auf die Primärschlüssel anderer Tabellen.
SQL:
CREATE TABLE `product` (
`id` binary(16) NOT NULL,
`version_id` binary(16) NOT NULL,
`parent_id` binary(16) DEFAULT NULL,
`parent_version_id` binary(16) DEFAULT NULL);
ALTER TABLE `product`
ADD PRIMARY KEY (`id`,`version_id`),
ADD KEY `fk.product.parent_id` (`parent_id`,`parent_version_id`);
ALTER TABLE `product`
ADD CONSTRAINT `fk.product.parent_id` FOREIGN KEY (`parent_id`,`parent_version_id`) REFERENCES `product` (`id`, `version_id`) ON DELETE CASCADE ON UPDATE CASCADE;
COMMIT;