Lesezeichen Erstelle PDF Email Drucken

USING BTREE Fehler bei MySQL Import

Author:
Martin
Erstellt:
Samstag, 09. Juli 2011
Letzte Bearbeitung:
Sonntag, 10. Juli 2011
Aufrufe:
492
Bewertung:
 
Bewerte:
Gut - Schlecht
Lesezeichen:
0 Lesezeichen anlegen

Antwort

Wurde ein Datenbankdump mit einer MySQL Version 5.1 erzeugt und soll dieser in einer MySQL Datenbank der Version 5.0 importiert werden, so kann es zu dem folgenden Fehler kommen:

ERROR 1064 (42000) at line 1561: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘USING BTREE, …

Schuld daran ist das veränderte SQL Syntax der Version 5.1.
Aufgrund eines fehlenden Kompatibilitätsschalters beim Export ( wie zum Beispiel mysqldump -comptability=mysql50 ) bleibt hier nur die Möglichkeit, den Dump an das 5.0 Syntax anzupassen.
Unter Linux geht dies über die Konsole:

1 sed -i -r 's/\(([^)]+)\) USING BTREE/USING BTREE (\1)/g' mydump.sql

Alternativ auch im Dump die Stelle mit "USING BTREE" suchen und einfach entfernen, oder tauschen ...

mysql50 erzeugt:
UNIQUE KEY IDX_BASE USING BTREE ( entity_type_id, entity_id, attribute_id, store_id ),
mysql51 erzeugt:
UNIQUE KEY IDX_BASE( entity_type_id, entity_id, attribute_id, store_id ) USING BTREE,

Kategorie

Tags für diesen Beitrag

Kommentar schreiben


Sicherheitscode
Aktualisieren