ufaclub
18.10.2017 - 15:54
а 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 следующий будет по регистру???
brevis
18.10.2017 - 16:01
killer8080
18.10.2017 - 16:05
из information_schema или show create table
только зачем его узнавать?
Valick
18.10.2017 - 16:26
ufaclub, для начала надо понять что идентификатор строки это исключительно идентификатор строки и ни какой он не порядковый номер ни разу.
_____________
Стимулятор ~yoomoney - 41001303250491
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
18.10.2017 - 22:57
ufaclub, переходи на Постгре
В нем легко и просто получаешь айди хоть одной, хоть нескольких вставленных/измененных/удаленных записей
http://phpforum.su/index.php?showtopic=83967
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Valick
18.10.2017 - 23:15
sergeiss, Постгри хорошая БД никто не спорит, но в данном случае автор "жжот", а точнее мается ерундой. Вопрос Киллера остался без ответа, а зря.
Давайте проведём сеанс чтения мыслей. Как вы думаете, что я подумаю о программисте если увижу на экране надпись "Ваш вопрос будет под номером №..."
пишите варианты ответов (не стесняйтесь)
_____________
Стимулятор ~yoomoney - 41001303250491
Valick, а что тебе показалось странным в вопросе? С чего ты взял, что ТС хочет использовать автоинкремент как порядковый номер? Он же спросил:
Цитата (ufaclub @ 18.10.2017 - 11:54) |
Вот через какой мне запрос бы реально узнавать какой номер id следующий будет по регистру???
|
Другое дело, что сама логика хромает. Ну узнаешь ты, какой номер следующий. Пока юзер задает вопрос, он может измениться. Тут нужно резервировать строку для конкретного юзера, потом удалять неиспользованные.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Игорь_Vasinsky
19.10.2017 - 12:53
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
19.10.2017 - 13:26
Цитата (Игорь_Vasinsky @ 19.10.2017 - 11:53) |
почему не используешь самостоятельное поле? |
даже в этом случае, как сказал Николай, придётся сначала резервировать строку под запись
но лучше всё-таки ответить Киллеру, да и всем остальным, нахрена это надо?
_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
19.10.2017 - 13:43
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
14.11.2017 - 22:05
Ну да для наглядности просто номер вопроса вывожу. Просто это сайт где вопросы оставляют дай бог раз в неделю. Не думаю что нужно резервировать ради этого номер.
killer8080
14.11.2017 - 23:54
Цитата (ufaclub @ 14.11.2017 - 22:05) |
Ну да для наглядности просто номер вопроса вывожу. |
id нельзя для этого использовать, выше Валик уже говорил
Цитата (Valick @ 18.10.2017 - 16:26) |
ufaclub, для начала надо понять что идентификатор строки это исключительно идентификатор строки и ни какой он не порядковый номер ни разу. |
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.