SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.06.2018 09:35:36

Vtornik
Участник
Зарегистрирован: 27.02.2018
Сообщений: 17

Сквозная нумерация товарных строк, уникальная только в рамках категорий

Есть две таблицы.

Таблица категорий товаров.
id_category (+PRIMARY,+AUTO_INCREMENT) | name_category

И таблица товаров.

id_goods | id_category | name_goods

Требуется, чтобы в поле id_goods тоже шла автоматическая сквозная нумерация (назначался ID) , но уникальная только относительно значений в поле id_category .

Неактивен

 

#2 08.06.2018 09:48:11

klow
Старожил
Зарегистрирован: 06.12.2014
Сообщений: 411

Re: Сквозная нумерация товарных строк, уникальная только в рамках категорий

Думаю, Вы немного неправильно ставите задачу.
id_goods это PRIMARY и AUTO_INCREMENT, а, например, goods_category_num - сквозная нумерация в пределах name_category.
id_category и goods_category_num - уникальный индекс.
Для того, чтобы что-то порекомендовать нужно понимать, как эта нумерация должна работать при удалении категории (пропусках).
Как вариант:

INSERT goods (id_category, name_goods, goods_category_num)
VALUES(@id_category,@name_goods,IFNULL((SELECT MAX(goods_category_num) FROM goods WHERE id_category=@id_category),1));

Отредактированно klow (08.06.2018 09:52:44)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson