[+/-]
In diesem Abschnitt geht es um häufig benutzte Abfragen und Funktionalitätsbereiche in MySQL und ihre Verwendung mit MyODBC.
          Den Wert einer Spalte, die nach einer
          INSERT-Anweisung
          AUTO_INCREMENT verwendet, kann man auf
          mehrere Weisen beschaffen. Um ihn unmittelbar nach dem
          INSERT abzurufen, verwendet man eine
          SELECT-Anfrage mit der
          LAST_INSERT_ID()-Funktion.
        
          Mit MyODBC würden Sie hier zwei Anweisungen absetzen: die
          INSERT-Anweisung und die
          SELECT-Anfrage, die Ihnen den
          Auto-Increment-Wert liefert.
        
INSERT INTO tbl (auto,text) VALUES(NULL,'text'); SELECT LAST_INSERT_ID();
          Wenn Sie den Wert nicht für Ihre Anwendung, aber für ein
          anderes INSERT benötigen, können Sie das
          Ganze auch mit folgenden beiden Anweisungen erledigen:
        
INSERT INTO tbl (auto,text) VALUES(NULL,'text'); INSERT INTO tbl2 (id,text) VALUES(LAST_INSERT_ID(),'text');
Manche ODBC-Anwendungen (darunter Delphi und Access) haben Schwierigkeiten, mit den oben gezeigten Methoden den Auto-Increment-Wert abzurufen. Hier bietet sich als Alternative folgende Anweisung an:
SELECT * FROM tbl WHERE auto IS NULL;
Siehe Abschnitt 24.2.13.3, „Wie erhalte ich die eindeutige Kennung für die letzte eingefügte Zeile?“.
          MyODBC 3.51 bietet zwar dynamic
          cursor-Unterstützung, aber nach Voreinstellung sind
          dynamische Cursors nicht aktiviert. In Windows schalten Sie
          diese Funktion ein, indem Sie das Kontrollkästchen
          Dynamische Cursor aktivieren im
          ODBC-Datenquellen-Administrator markieren.
        
          Auf anderen Plattformen schalten Sie dynamische Cursors ein,
          indem Sie zu dem Wert von OPTION den Wert
          32 addieren, wenn Sie den DSN anlegen.
        
Der MyODBC-Treiber wurde auf eine sehr schnelle Leistung hin optimiert. Wenn Sie Probleme mit der Leistung von MyODBC haben oder viele Plattenzugriffe für einfache Anfragen auftreten, sollten Sie mehrere Dinge überprüfen:
              Stellen Sie sicher, dass ODBC Tracing
              nicht eingeschaltet ist. Wenn das Tracing aktiv ist,
              zeichnet der ODBC-Manager massenhaft Daten in der
              Tracing-Datei auf. Unter Windows können Sie dies prüfen
              und das Tracing gegebenenfalls deaktivieren, indem Sie die
              Ablaufverfolgung im
              ODBC-Datenquellen-Administrator ausschalten. In Mac OS X
              überprüfen Sie das Tracing-Feld
              des ODBC Administrators. Siehe auch
              Abschnitt 25.1.3.8, „Erzeugen einer ODBC-Trace-Datei“.
            
Vergewissern Sie sich, dass Sie die Standardversion und nicht die Debugging-Version des Treibers benutzen. In der Debugging-Version werden zusätzliche Überprüfungen und Berichte ausgeführt.
Deaktivieren Sie die Trace- und Query-Logs des MyODBC-Treibers. Da diese für jeden DSN aktiviert sind, müssen Sie darauf achten, nur den DSN zu bearbeiten, den Sie in Ihrer Anwendung benutzen. Unter Windows deaktivieren Sie die MyODBC- und Query-Logs, indem Sie die DSN-Konfiguration modifizieren. Unter Mac OS X und Unix müssen Sie dafür sorgen, dass der Treiber-Trace (Optionswert 4) und das Anfragen-Logging (Optionswert 524288) ausgeschaltet sind.
Wie Sie in Microsoft Windows ein Anfragen-Timeout einstellen, wenn Anfragen über eine ODBC-Verbindung ausgeführt werden, erfahren Sie in folgendem Artikel der Microsoft Knowledge Base: http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B153756.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.

