[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Получить следующий номер AUTO_INCREMENT
ufaclub
а id при создании базы данных было `id` int(11) NOT NULL AUTO_INCREMENT,

т.е присвоение идет автоматически

при добавлении через форму идет +1 к номеру.

Но вот как мнн узнать какой будет id следующий? логично было бы что вот так

<?php $a = mysql_query("SELECT MAX(id)+1 FROM vopros"); $b = mysql_fetch_array($a); ?>

Ваш вопрос будет под №<?php $lastid = $b[0]; echo $lastid; ?>

все вроде хорошо в $lastid попадает как раз следующая записать.

возьмем ситуацию что я удалил 5 записей последних. У последний записи id стала равна 500. Логично что скрипт скажет что ваша следующая запись будет 501. Но вот тут то и облом. Регистр помнит что был уже 505 записей. и запишет эту запись под id = 506.

Вот через какой мне запрос бы реально узнавать какой номер id следующий будет по регистру???
killer8080
из information_schema или show create table
только зачем его узнавать?
Valick
ufaclub, для начала надо понять что идентификатор строки это исключительно идентификатор строки и ни какой он не порядковый номер ни разу.


_____________
Стимулятор ~yoomoney - 41001303250491
Kusss
http://php.net/manual/ru/function.mysql-insert-id.php
возможно пригодиться это.

Вставил данные, узнал с каким номер вставилось , добавил следующую запись
mysql_query("INSERT INTO `user` SET logn='test' ");
$id = mysql_insert_id();
mysql_query("INSERT INTO `user_stat`SET user_id = $id, date = NOW() ");
sergeiss
ufaclub, переходи на Постгре wink.gif В нем легко и просто получаешь айди хоть одной, хоть нескольких вставленных/измененных/удаленных записей http://phpforum.su/index.php?showtopic=83967

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Valick
sergeiss, Постгри хорошая БД никто не спорит, но в данном случае автор "жжот", а точнее мается ерундой. Вопрос Киллера остался без ответа, а зря.

Давайте проведём сеанс чтения мыслей. Как вы думаете, что я подумаю о программисте если увижу на экране надпись "Ваш вопрос будет под номером №..."
пишите варианты ответов (не стесняйтесь)

_____________
Стимулятор ~yoomoney - 41001303250491
twin
Valick, а что тебе показалось странным в вопросе? С чего ты взял, что ТС хочет использовать автоинкремент как порядковый номер? Он же спросил:
Цитата (ufaclub @ 18.10.2017 - 11:54)
Вот через какой мне запрос бы реально узнавать какой номер id следующий будет по регистру???

Другое дело, что сама логика хромает. Ну узнаешь ты, какой номер следующий. Пока юзер задает вопрос, он может измениться. Тут нужно резервировать строку для конкретного юзера, потом удалять неиспользованные.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Игорь_Vasinsky
ufaclub
а зачем для нумерации вообще использовать primary key , почему не используешь самостоятельное поле?

зы: здаров земеля.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Valick
Цитата (Игорь_Vasinsky @ 19.10.2017 - 11:53)
почему не используешь самостоятельное поле?

даже в этом случае, как сказал Николай, придётся сначала резервировать строку под запись
но лучше всё-таки ответить Киллеру, да и всем остальным, нахрена это надо?

_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
Valick
ну может он сайт для битвы экстрасенсев пишет.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
ufaclub
Ну да для наглядности просто номер вопроса вывожу. Просто это сайт где вопросы оставляют дай бог раз в неделю. Не думаю что нужно резервировать ради этого номер.
killer8080
Цитата (ufaclub @ 14.11.2017 - 22:05)
Ну да для наглядности просто номер вопроса вывожу.

id нельзя для этого использовать, выше Валик уже говорил
Цитата (Valick @ 18.10.2017 - 16:26)
ufaclub, для начала надо понять что идентификатор строки это исключительно идентификатор строки и ни какой он не порядковый номер ни разу.

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.