Как в таблице БД сделать поле - где будет 4-х значное уникальное число?

P
На сайте с 06.01.2009
Offline
601
1253

Ребят, прошу подсказать.

Необходимо сделать поле таблицы, где будет уникальный номер товара = 4-х значное число. поле id не подходит, так как если таблицу импортируешь, потом экспортируешь - то нумерация восстанавливается в числовом порядке. А мне надо присвоить каждому товару "вечные" 4-х значные неповторяющиеся номера.

Спасибо заранее.

bay_ebook
На сайте с 28.05.2010
Offline
111
#1

А в чем проблема?

Создайте поле например code тип int длинна 4 и ставим уникальный индекс (unique) и выбираем по нему. ПС - это не единственный вариант :)

Нужен прогер на php+mysql+понимание чужего кода? (/ru/forum/540660) Вам сюда PHP-шаман (http://php-shaman.pw/)
siv1987
На сайте с 02.04.2009
Offline
427
#2

postavkin, что значит "нумерация восстанавливается в числовом порядке"?

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#3

А можно вопрос :)

А при чём тут база данных? :)

База данных хранит значения, которое ВЫ туда поместите.

ID вы имеете в виду, стандартный автоматический. Ну ок, делайте хоть int, хоть TEXT поле и пишите туда своё значение.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
дани мапов
На сайте с 06.09.2012
Offline
204
#4
postavkin:
Ребят, прошу подсказать.
Необходимо сделать поле таблицы, где будет уникальный номер товара = 4-х значное число. поле id не подходит, так как если таблицу импортируешь, потом экспортируешь - то нумерация восстанавливается в числовом порядке. А мне надо присвоить каждому товару "вечные" 4-х значные неповторяющиеся номера.
Спасибо заранее.

Даже если поле AUTO_INCREMENT, при импорте-экспорте прежние значения не будут игнорироваться. Вы что-то не так делаете.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
P
На сайте с 06.01.2009
Offline
601
#5
siv1987:
postavkin, что значит "нумерация восстанавливается в числовом порядке"?

Есть поле id - auto incriment

Текущие id товара идут не всегда попрядку, т.е. не 1,2,3,4,5,6,7,8,9,10,11,12 и т.д., а 1,2,4,6,7,8,11,12 и т.д., так как удаляли товары с id 3,5,9,10

При эспорте -экспорте таблицы - id товаров становится по порядку (без пропусков).

---------- Добавлено 23.03.2013 в 19:48 ----------

дани мапов:
Даже если поле AUTO_INCREMENT, при импорте-экспорте прежние значения не будут игнорироваться. Вы что-то не так делаете.

Видимо я что то не так делаю, но что именно понять не могу. Это нам в принципе не мешает, но если бы эти номерв (id) фиксировались на всегда, то да, воспользовались бы ими для решения текущей задачи.

---------- Добавлено 23.03.2013 в 19:54 ----------

bay_ebook:
А в чем проблема?
Создайте поле например code тип int длинна 4 и ставим уникальный индекс (unique) и выбираем по нему. ПС - это не единственный вариант :)

Не получается.

Вот

ps скрины почему то не прикрепляются ((

siv1987
На сайте с 02.04.2009
Offline
427
#6
postavkin:
При эспорте -экспорте таблицы - id товаров становится по порядку (без пропусков).

Вы что-то путаете, не может оно меняться не при auto_increment-e, не при других типов.

Разберитесь сначала что вы там делаете.

IL
На сайте с 20.04.2007
Offline
435
#7
postavkin:
Это нам в принципе не мешает, но если бы эти номерв (id) фиксировались на всегда,

Ну, они для того и задуманы...

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
doctorpc
На сайте с 12.07.2009
Offline
112
#8

auto_increment primary index - самое обычное и верное решение.

Возможно ваш скрипт экспорта вообще это поле не экспортирует, и тогда при импорте, разумеется, будет пересоздан снова.

Т.е. экспорт может выглядеть как-то так:

SELECT name, description from table

вместо:

SELECT id, name, description from table
P
На сайте с 06.01.2009
Offline
601
#9

ivan-lev, doctorpc -спасибо. Посмотрим. Но вообще мы не скриптом экспортируем, а из phpMyAdmin.

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