2014-09-29 3 views
1

mysqli_insert_id() специфичен для подключения к базе данных - он возвращает идентификатор строки, которую этот скриптовый вызов вставлял совсем недавно, а не какой-либо другой клиент MySQL. Таким образом, нет конфликта, если несколько приложений вставляются в базу данных одновременно.как работают соединения mysql

Я смущен в 2-х вещах, первые из них является

специфичны для подключения к базе данных

и второй вещи,

MySQL клиент

Пожалуйста, есть кто-нибудь, кто может explian, что как MySQL соединение работать для разных клиентов или как эти клиенты ведут себя в любом приложении. Прошу прощения, если это вопрос, но я путаюсь, почему он не отражается на вводе данных одновременно.

ответ

0

специфичны для подключения к базе данных

Предположим, что я бегу PHP скрипт, который вставляет строку, а затем вызывает mysqli_insert_id(), и он говорит мне, что сгенерированное значение 1234.

Далее, вы также запустите отдельный скрипт PHP, который вставляет строку в ту же таблицу. Предположим, что оно сгенерировало значение 1235.

Затем мой PHP-скрипт, все еще работающий в том же запросе, что и раньше, снова вызывает mysqli_insert_id(). Сообщает ли он 1235? Нет - он все еще сообщает 1234, потому что он скажет мне только самый последний идентификатор, созданный во время моей сессии.

Если мой запрос PHP заканчивается, а затем я делаю еще один PHP-запрос и подключается к MySQL, это считается новым соединением. Mysqli_insert_id() ничего не сообщает по умолчанию, если только я не сделаю новую вставку.

MySQL клиенту

В этом контексте MySQL клиент, например, PHP-скрипт, который устанавливает соединение с MySQL во время одного запроса.

Клиент MySQL также может быть средством командной строки командной строки или графическим интерфейсом, таким как MySQL Workbench, или другим приложением, написанным на PHP или на другом языке. Термин «клиент MySQL» должен включать все эти. Каждый клиент устанавливает соединение с сервером базы данных MySQL, и каждое соединение имеет свою собственную идею о том, каким был последний идентификатор вставки.

+0

Спасибо, Билл Карвин, что мое замешательство теперь разрешено. вы рокхх человек. –