InnoDB statt MyISAM nutzen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • jan.theofel
    Contao-Urgestein
    • 23.06.2009
    • 1857

    #1

    InnoDB statt MyISAM nutzen

    Hallo,

    wir pflegen eine Tabelle aus einer TYPOlight-Installation extern über ein Skript. Dieses soll als Transaktion laufen weil es zuerst alle Daten löscht und dann neue einspielt. (Technisch nicht schön aber leider nicht anders möglich.)

    Leider unterstützt MyISAM keine Transaktionen, so dass ich diese Tabelle als InnoDB anlegen müsste. Soweit ich diese Zusammenfassung aus Würzburg verstanden habe, war InnoDB-Support wohl geplant.

    Ist das im Core inzwischen umgesetzt?
    Wenn ja, wo muss ich hingreifen, wenn TYPOlight meine Tabellen dennoch als MyISAM anlegt obwohl der Server InnoDB unterstützt?
    Wenn nein, wäre ein manuelles CREATE TABLE mit passenden Einstellungen möglich? Oder kommt dann TYPOlight später damit nicht zurecht, z.B. bei neuen Feldern in dieser Tabelle?

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps
  • xtra
    Maintainer
    • 02.07.2009
    • 2007

    #2
    Zitat von leo.unglaub
    Ledeglich das ändern bestehender Tabellen funktioniert nicht.
    Nach MySQL Doku geht das von Hand sehr wohl:
    Code:
    ALTER TABLE tablename ENGINE = InnoDB;
    Jedoch haengt es noch von der grundlegenden Verfygbarkeit der Engine und der Einstellung NO_ENGINE_SUBSTITUTION (Section 5.1.8, “Server SQL Modes” Mysqldokumentation) ab.

    Einer Migration per phpmyadmin sollte (nach erfolgtem Backup!) nichts im Wege stehen.

    Gruss
    Chris
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

    Kommentar

    Lädt...