Vorhin habe ich gerade meinen Linuxrechner angeschalten. Ich hatte mich ein bißchen geärgert, dass meine MySQL-Datenbank keine Fremdschlüsselbeziehungen kann. Ein bißchen Recherche schaffte Aufklärung: Die als Standard definierte ISAM-Engine, erlaubt das nicht. Alternativ steht aber die InnoDB-Engine zur Verfügung, die nicht nur Fremdschlüssel unterstützt, sondern auch Transaktionen.
Ein locker flockig eingetipptes:
1 | show variables like "have_%"; |
verriet mir, dass die InnoDB-Engine schon dabei ist.
Als nächstes mußten also nur noch die Tabellen mit einem
1 | alter table <em>tablename</em> engine=INNODB; |
umgesetzt werden. Das Einfügen der Fremdschlüsselbeziehungen hab ich dann gemütlicherweise mit dem MySQL-Administrator, was aber auch nicht so einfach ging, da dort wohl noch ein kleiner Bug sitzt, der mich zwang, die Spalte der referenzierten Spalte von Hand nachzutragen.