Aus SatriaWiki
Satria (Diskussion | Beiträge) K (Die Seite wurde neu angelegt: „Foreign Keys auch "Fremdschlüssel" genannt, sind in MySQL nicht per phpMyAdmin (der üblichen Administrationsoberfläche für MySQL) zu konfigurieren. Man muss …“) |
Satria (Diskussion | Beiträge) |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Foreign Keys auch "Fremdschlüssel" genannt, | + | In MySQL Datenbanken sind Foreign Keys auch "Fremdschlüssel" genannt, über phpMyAdmin (der üblichen Administrationsoberfläche für MySQL) nicht per Menü zu konfigurieren. Man muss die Tabelle, die Primärschlüssel aus anderen Tabellen als Fremdschlüssel referenziert, nach dem Erstellen manuell per SQL Kommando verändern, und außerdem müssen die betreffenden Tabellen InnoDB Tabellen sein. MyISAM unterstützt keine Foreign Key Constraints. |
− | |||
− | Man muss die Tabelle, die | ||
Das geht so: | Das geht so: | ||
Zeile 8: | Zeile 6: | ||
ALTER TABLE `ReferencingTable` | ALTER TABLE `ReferencingTable` | ||
ADD CONSTRAINT `SomeConstraintName1` FOREIGN KEY (`ColumnWithForeignKey1`) REFERENCES `ReferencedTable1` (`PrimaryKey`) ON DELETE CASCADE, | ADD CONSTRAINT `SomeConstraintName1` FOREIGN KEY (`ColumnWithForeignKey1`) REFERENCES `ReferencedTable1` (`PrimaryKey`) ON DELETE CASCADE, | ||
− | ADD CONSTRAINT `SomeConstraintName1` FOREIGN KEY (`ColumnWithForeignKey2`) REFERENCES `ReferencedTable2` (`PrimaryKey`) ON DELETE CASCADE; | + | ADD CONSTRAINT `SomeConstraintName1` FOREIGN KEY (`ColumnWithForeignKey2`) REFERENCES `ReferencedTable2` (`PrimaryKey`) ON DELETE CASCADE, |
+ | ...; | ||
</pre> | </pre> | ||
+ | |||
+ | ==Quellen== | ||
+ | http://dev.mysql.com/doc/refman/5.1/de/innodb-foreign-key-constraints.html |
Aktuelle Version vom 2. November 2011, 10:14 Uhr
In MySQL Datenbanken sind Foreign Keys auch "Fremdschlüssel" genannt, über phpMyAdmin (der üblichen Administrationsoberfläche für MySQL) nicht per Menü zu konfigurieren. Man muss die Tabelle, die Primärschlüssel aus anderen Tabellen als Fremdschlüssel referenziert, nach dem Erstellen manuell per SQL Kommando verändern, und außerdem müssen die betreffenden Tabellen InnoDB Tabellen sein. MyISAM unterstützt keine Foreign Key Constraints.
Das geht so:
ALTER TABLE `ReferencingTable` ADD CONSTRAINT `SomeConstraintName1` FOREIGN KEY (`ColumnWithForeignKey1`) REFERENCES `ReferencedTable1` (`PrimaryKey`) ON DELETE CASCADE, ADD CONSTRAINT `SomeConstraintName1` FOREIGN KEY (`ColumnWithForeignKey2`) REFERENCES `ReferencedTable2` (`PrimaryKey`) ON DELETE CASCADE, ...;
Quellen
http://dev.mysql.com/doc/refman/5.1/de/innodb-foreign-key-constraints.html