Отслеживание primary key в базе mysql

12
kvins
На сайте с 23.08.2011
Offline
95
1271

На сайте в база данных каталога товаров , есть поле id как всегда с primary key(первиным ключем)

и по первичному ключу создаются картинки.

если удалить последний товар , то как тогда сделать выборку из базы чтобы показался последний (id) не тот который существует в базе , а тот который будет следующий или последний удаленный

Магазин уникальных статей. (http://linkum.ru/to/13254/)
LEOnidUKG
На сайте с 25.11.2006
Online
1730
#1
и по первичному ключу создаются картинки.

И что? В чём проблема то?

---------- Добавлено 06.10.2012 в 01:19 ----------

Не ну конечно можно распарсить вот это:

show table status like 'your_table_name'

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
kvins
На сайте с 23.08.2011
Offline
95
#2
LEOnidUKG:
И что? В чём проблема то?

---------- Добавлено 06.10.2012 в 01:19 ----------

Не ну конечно можно распарсить вот это:
show table status like 'your_table_name'

В том что , к примеру в базе идут так товары

1 , 2, 3, 4

Через админку удаляем 4

При создании новой , из базы достаю последний и приплюсовываю +1

Получается если удалить четвертый ,то из этой базы достается 3 + 1 получается 4 , но в базе он уже появится под номером 5 , а картинка будет 4 и получается не совпадение

siv1987
На сайте с 02.04.2009
Offline
427
#3
kvins
На сайте с 23.08.2011
Offline
95
#4

mysql_insert_id — Возвращает ID, сгенерированный при последнем INSERT-запросе.

А как выбрать последний id с таблицы если не было еще запроса ??

Или как эту функцию использовать ?

Пробовал так , может выборку нужно делать ?

$mysql_id = mysql_query("SELECT LAST_INSERT_ID()");

echo $mysql_id[0];

zhitov
На сайте с 30.01.2005
Offline
219
#5
kvins:
При создании новой , из базы достаю последний и приплюсовываю +1

Сначала создаете запись (пустую)

$id=mysql_insert_id();

Потом ее UPDATE своей записью WHERE id='$id'

P.S. Я "чайник", если что :)

Строительные калькуляторы ( https://www.zhitov.com/ )
O
На сайте с 29.05.2008
Offline
195
#6

Можно получить значение автоинкремента с information_schema...

kvins
На сайте с 23.08.2011
Offline
95
#7
zhitov:
Сначала создаете запись (пустую)
$id=mysql_insert_id();
Потом ее UPDATE своей записью WHERE id='$id'

P.S. Я "чайник", если что :)

А если контенщик отменит создание , то тогда что =)

Впринципе можно потом еще проверку на пустое поле сделать , но это не то

---------- Добавлено 06.10.2012 в 00:37 ----------

ortegas:
Можно получить значение автоинкремента с information_schema...

Стока советов , что уже запутался =)

А можно пример вывода из базы ?

LEOnidUKG
На сайте с 25.11.2006
Online
1730
#8
kvins:


А можно пример вывода из базы ?

Боже, прочитайте, что я выше написал.

Выполните запрос:

show table status like 'your_table_name'

Там будет Auto_increment

siv1987
На сайте с 02.04.2009
Offline
427
#9
kvins:
mysql_insert_id — Возвращает ID, сгенерированный при последнем INSERT-запросе.

А как выбрать последний id с таблицы если не было еще запроса ??

Принцип вам описал zhitov выше, только не обязательно чтобы запись создавалась пустой. Делайте сначала инстерт данных потом сохраняйте картинки

kvins:
Или как эту функцию использовать ?

В мануале же ясно сказано как ее использовать

mysql_query("INSERT INTO mytable (product) values ('kossu')");

printf("Идентификатор последней вставленной записи %d\n", mysql_insert_id());

Если именно нужен нужен ид перед вставкой, LEOnidUKG выше написал как его достать.

zhitov
На сайте с 30.01.2005
Offline
219
#10
kvins:
А если контенщик отменит создание , то тогда что =)

Это все сразу, одновременно - типа 3 строчки в одном скрипте.

kvins:
Стока советов , что уже запутался =)

Слушайте LEOnidUKG, он плохому не научит ;)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий