Spec-Zone .ru
спецификации, руководства, описания, API
|
Этот раздел предоставляет справке общие запросы и области функциональности в MySQL и как использовать их с Соединителем/ODBC.
Получение значения столбца, который использует AUTO_INCREMENT
после INSERT
оператор может быть достигнут различными способами. Получить значение
сразу после INSERT
, используйте a SELECT
запрос с LAST_INSERT_ID()
функция.
Например, использование Соединителя/ODBC Вы выполнили бы два отдельных оператора, INSERT
оператор и SELECT
запрос, чтобы получить автоинкрементное значение.
INSERT INTO tbl (auto,text) VALUES(NULL,'text');SELECT LAST_INSERT_ID();
Если Вы не требуете значения в пределах своего приложения, но действительно требуете значения как части
другого INSERT
,
весь процесс может быть обработан, выполняя следующие операторы:
INSERT INTO tbl (auto,text) VALUES(NULL,'text');INSERT INTO tbl2 (id,text) VALUES(LAST_INSERT_ID(),'text');
Определенные приложения ODBC (включая Delphi и Доступ) могут испытать затруднения, получая автоинкрементное значение, используя предыдущие примеры. В этом случае попробуйте следующий оператор как альтернативу:
SELECT * FROM tbl WHERE auto IS NULL;
Этот альтернативный метод требует этого sql_auto_is_null
переменная не устанавливается в 0. См. Раздел
5.1.4, "Системные Переменные Сервера".
См. также Раздел 22.8.15.3, "Как Получить Уникальный ID для Последней Вставленной Строки".
Поддержка dynamic cursor
обеспечивается в Соединителе/ODBC 3.51, но
динамические курсоры не включаются по умолчанию. Можно включить этой функции в пределах Windows, выбирая
Enable Dynamic Cursor
флажок в пределах ODBC Data Source Administrator.
На других платформах можно включить динамическому курсору, добавляя 32
к OPTION
оцените, создавая DSN.
Драйвер Соединителя/ODBC был оптимизирован, чтобы обеспечить очень быструю производительность. Если Вы испытываете проблемы с производительностью Соединителя/ODBC, или замечаете большое количество дискового действия для простых запросов, есть много аспектов, чтобы проверить:
Гарантируйте это ODBC Tracing
не включается. С
трассировкой включенного, большая информация записывается в файле трассировки менеджером по ODBC.
Можно проверить, и отключить, прослеживая в пределах Windows, используя панель ODBC Data Source Administrator. В пределах Mac OS X
проверьте панель Администратора ODBC. См. Раздел
22.1.4.8, "Получение Файла трассировки ODBC".
Удостоверьтесь, что Вы используете стандартную версию драйвера, а не отладочную версию. Отладочная версия включает дополнительные проверки и сообщающие меры.
Отключите трассировку драйвера Соединителя/ODBC и журналы запросов. Эти опции включаются для каждого DSN, так что удостоверьтесь, что исследовали только DSN, что Вы используете в своем приложении. В пределах Windows можно отключить Соединитель/ODBC и журналы запросов, изменяя конфигурацию DSN. В пределах Mac OS X и Unix, гарантируйте, что трассировка драйвера (значение опции 4) и журналирование запроса (значение опции 524288) не включается.
Для получения дополнительной информации по тому, как установить тайм-аут запроса на Microsoft Windows,
выполняя запросы через соединение ODBC, считайте документ базы знаний Microsoft в