ОК, так вот мой сценарий - вы можете не согласиться с тем, что я пытаюсь сделать, но у меня есть причины. Пользователь может загружать различную информацию в базу данных, я также хочу, чтобы они могли загружать изображение одновременно. Теперь по разным причинам я хочу сохранить изображение с именем файла идентификационным номером записи, которую я добавляю (у меня есть столбец идентификатора в качестве первичного, который автоматически увеличивает). Очевидно, мне придется также хранить расширение файла в базе данных. Теперь я могу добавить запись, а затем узнать, какой идентификатор был установлен, чтобы я мог сохранить изображение? Я не хочу запрашивать и выбирать самый высокий идентификатор, поскольку это может пойти не так, если два человека должны были отправить форму одновременно. Любые идеи?MYSQL - найдите только что добавленный номер зарегистрированной записи
ответ
После выполнения вставки в PHP, вы можете получить AUTO_INCREMENT
ID из $mysqli->insert_id
(где $ Mysqli - объект соединения MySQLi
), $pdo->lastInsertId
(где $ pdo - объект соединения PDO
), или mysql_insert_id()
(если вы все еще используете MySQL
, чего вам не должно быть) без необходимости запуска другого запроса.
LAST_INSERT_ID()
даст вам ID
было автоматически сгенерировано:
... возвращает значение
BIGINT
(64-бит), представляющее первый автоматически сгенерированного значение, которое было установлено дляAUTO_INCREMENT
колонков последний выполненный операторINSERT
, чтобы повлиять на столбец . Например, после вставки строки, которая генерирует значениеAUTO_INCREMENT
, вы можете получить значение, как это:mysql> SELECT LAST_INSERT_ID(); -> 195
Большое вам спасибо! Кажется, что это сработает. Хотя есть ли вероятность того, что если несколько человек представит форму одновременно, она может выбрать неправильную? – cainy393
@ пользователь1821586 немного поиска расскажет. Пожалуйста, всегда делайте некоторые исследования перед отправкой вопроса. Попробуйте найти решение, и когда вы застряли, чем опубликовать его здесь! –
@ user1821586 Он будет работать, если несколько человек отправят форму одновременно, потому что она даст вам последнее автоматически сгенерированное значение для * текущего соединения *. Поскольку каждое представление формы будет использовать другое соединение, они не будут вмешиваться. –
- 1. MySql: найдите номер строки конкретной записи
- 2. MySQL Выберите: найдите записи со связанными записями только одного типа
- 3. MySQL Найдите номер модели самого дорогого продукта.
- 4. Найдите номер отличительного цвета
- 5. MySQL возвращает только последний добавленный ряд
- 6. Cytoscape динамический стиль только что добавленный узел
- 7. SQL: Как использовать только что добавленный столбец
- 8. Дайте псевдоним зарегистрированной таблице MySQL
- 9. Найдите номер, который удовлетворяет ограничениям
- 10. Найдите сборку GAC, если изменился только номер сборки или ревизии
- 11. Найдите номер в строке. Javascript
- 12. MySQL: получить номер позиции записи из запроса
- 13. MySql Номер записи на основе ДАТА
- 14. номер, добавленный к переменной для типа?
- 15. mysql: найдите макс. Столбца, где записи имеют несколько строк.
- 16. TSQL: Найдите необходимые отсутствующие записи
- 17. Повторить добавленный номер порта через Nginx
- 18. Автоматическая генерация пароля на основе зарегистрированной учетной записи facebook
- 19. Maths: Найдите номер перестановки, используя один стек
- 20. Excel: найдите подстроку и получите номер строки
- 21. Найдите текущий номер тома diskpart в .bat
- 22. Datagrid Установить фокус на только что добавленный ряд
- 23. Только последний добавленный товар печатается
- 24. Найти номер записи XML
- 25. Найдите все, что НЕ
- 26. , используя словарь, найдите номер строки в файле
- 27. Android: проверка зарегистрированной учетной записи на моем приложении
- 28. Найдите номер строки в массиве Excel?
- 29. Найдите номер строки, содержащей два определенных значения?
- 30. Выходы Информация в зависимости от зарегистрированной учетной записи
Вы могли бы разработать? Я незнаком с pdo. – cainy393
@ cainy393 что вы используете в PHP для запуска запроса? –
erm ... ничего действительно mysql_query ("INSERT INTO table (Some, Stuff) VALUES (Some, Values);") – cainy393