|
|
|
|
|
для: confirm
(10.08.2016 в 10:55)
| | Ясно.
Значит, я всё-таки оставляю auto increment primary key.
Спасибо. | |
|
|
|
|
|
|
|
для: coloboc66
(10.08.2016 в 10:05)
| | primary key - означает первичный ключ таблицы, а auto increment формирует уникальные значения этого ключа таким образом, что они гарантировано не повторяются, то есть ранее использованное и удаленное из таблицы значение больше использоваться не будет.
У вас как раз товары, и чтобы обращаться к ним и исключить неоднозначность и требуется им уникальный идентификатор, который автоматически и обеспечивает поле с атрибутами primary key auto increment. Представьте себе, что у вас в продаже были бублики под идентификатором 23, затем их продажа прекратилась и они были удалены из базы, но добавлен новый товар - баранки. Если действовать по вашей логике, то баранки получили бы идентификатор 23. Рассказывать чем это чревато или понятно и без пояснения?
Если требуется нумерация товаров по порядку, то используйте для этого любое поле INT, инкремент в котором, а также изменения при удалении/перемещении товаров, производите сами. Хотя данного поля в общем то совсем и не нужно - указывайте дату добавления товара, и если нужно вывести их по порядку, то сортируйте запрос по этой дате (с тем же успехом можно сортировать и по ID), а нумерацию в вывод и РНР сделает. Хотя если нумерация по порядку не обязательно должна быть равна последовательности добавления товара, то вообще не понятно какие проблемы. | |
|
|
|
|
|
|
|
для: confirm
(10.08.2016 в 09:38)
| | Проблема в том, что я слабо разбираюсь в понятиях, выдаваемых phpmyadmin по свойствам поля:
- первичный
-уникальный
-индекс
-пространственный
-полнотекстовый
-уникальные значения
Я должен выбрать себе одно из этих значений, так?
Но я не знаю, какое?
В столбце item_id я веду нумерацию вставляемых администратором товаров в категории.
Сначала я поставил для него primary key auto increment.
Но столкнулся с тем, что mysql сохраняет уникальную нумерацию даже после удаления товара.
Мне это не нравится.
Посоветуйте, как мне установить это поле? С какими свойствами? | |
|
|
|
|
|
|
|
для: coloboc66
(10.08.2016 в 08:38)
| | Если primary key убрать - попробуйте, если получится. И вообще, с чего вдруг это стало проблемой? | |
|
|
|
|
|
|
|
для: confirm
(09.08.2016 в 16:18)
| | А уникальность получается из-за primary key?
Если primary key убрать, то такой проблемы не будет? | |
|
|
|
|
|
|
|
для: coloboc66
(09.08.2016 в 11:27)
| | Как этого избежать? - зачем, какой тогда смысл в уникальности? | |
|
|
|
|
|
|
| У меня в базе стоит один столбец item_id со свойством auto increment primary key.
Когда я добавляю в базу новый item, ему автоматически присваивается новый ID.
Но проблема в том, что:
Допустим, было 5 items.
Новому item было присвоено ID=6.
Но если я этот item из базы удалю, то следующему mySQL присвоит ID=7 вместо ожидаемого мной ID=6.
Почему так?
Как этого избежать?
Спасибо! | |
|
|
|
|