![]() ![]() ![]() |
Online Suche im Handbuch | ![]() |
Bei der Adaption der ACCESS Datenbank an die Datentypen von MySQL müssen einige Dinge beachtet werden. Erstens gibt es Datentypen in ACCESS, die in MySQL sich mit dieser Bezeichnung so nicht wiederfinden. Andererseits scheint MySQL Datentypen zu unterstützen, die ACCESS wiederum nicht unterstützt. Schauen wir uns einmal die Datentypen von ACCESS 97 einmal an:
Die folgende Tabelle enthält eine Liste der ANSI SQL-Datentypen und der dazu äquivalenten SQL-Datentypen von Microsoft ACCESS sowie die zulässigen Synonyme.
ANSI SQL Datentyp Microsoft ACCESS Datentyp Synonym
BIT, BIT VARYING BINARY (Siehe Anmerkungen) VARBINARY
Nicht unterstützt BIT (JA/NEIN siehe Anmerkungen) BOOLEAN, LOGICAL,LOGICAL1, YESNO
Nicht unterstützt BYTE INTEGER1
Nicht unterstützt COUNTER AUTOINCREMENT
Nicht unterstützt CURRENCY (=Währung) MONEY
DATE, TIME, TIMESTAMP DATETIME (=DATUM/ZEIT) DATE, TIME, TIMESTAMP
Nicht unterstützt GUID
DECIMAL Nicht unterstützt
REAL SINGLE (=Zahl) FLOAT4, IEEESINGLE, REAL
DOUBLE PRECISION,FLOAT DOUBLE (=Zahl) FLOAT, FLOAT8, IEEEDOUBLE, NUMBER, NUMERIC
SMALLINT SHORT INTEGER2, SMALLINT
INTEGER LONG INT, INTEGER, INTEGER4
INTERVAL Nicht unterstützt
Nicht unterstützt LONGBINARY (=OLE-Objekt) GENERAL, OLEOBJECT
Nicht unterstützt LONGTEXT (=MEMO) LONGCHAR, MEMO, NOTE
CHARACTER,
CHARACTER VARYING TEXT ALPHANUMERIC, CHAR, CHARACTER,STRING, VARCHAR
Nicht unterstützt VALUE
Anmerkungen :
Der ANSI SQL-Datentyp BIT entspricht nicht dem SQL-Datentyp BIT von Microsoft Jet (ACCESS), sondern dem Datentyp BINARY.
Es gibt kein ANSI SQL-Äquivalent für den SQL-Datentyp BIT in Microsoft Jet. Das reservierte Wort VALUE stellt keinen der vom Microsoft ACCESS 97 definierten Datentypen dar.
Leider ist auch Microsoft selber zu allen SQL Standards inkompatibel, sodaß man hier sich bei MySQL am besten selber sein Äquivalent sucht. Das Problem dabei ist, daß man einen Datentyp aussuchen muß, der von dem ODBC-Treiber auch korrekt interpretiert oder durchgereicht wird. Hierzu gibt es bei ODBC einige Parameter, die sich justieren lassen, damit bestimmte Datentypen automatisch konvertiert oder auch nicht konvertiert werden. Leider hat Microsoft je nach ACCESS Version hier abweichende Meinungen zu Datentypen, sodaß man kaum bestimmt sagen kann, welche Einstellungen bei ACCESS auch korrekt konvertiert werden. Korrekte Aussagen kann hier nur der Hersteller im Anschnitt über den ODBC-Treiber machen.
Insbesondere bei den Zahlen muß man sich rechtzeitig im Klaren sein, welche Werte abgespeichert werden, damit man die Datentypen nicht später auf mehr Byte erweitern muß. Mit Hilfe des Adminitrationstoolkits ist eine Änderung aber kein Problem mehr.
Für die Speicherung von BOOL´schen Datentypen (JA/NEIN) unter ACCESS eignet sich in MySQL der Datentyp ENUM
![]() ![]() ![]() |
Online Suche im Handbuch | ![]() |