Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Добавление уникальной строки без наращивания инкремента / 7 сообщений из 7, страница 1 из 1
02.04.2017, 12:23
    #39431514
Krybik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление уникальной строки без наращивания инкремента
Доброго времени суток, уважаемые форумчане!

Возникла у меня следующая трудность:
имеется табличка с двумя полями, "id" с A_I и "link" UNIQUE.
Вставляю(странно звучит xD) как новые так и уже существующие в "link" строки, значения не дублируются, но поле "id" бодро наращивается по всем переданным строкам. Т.е. к примеру, максимальный id=50 я вставляю 10 уже существующих записей и 1 новую, в результате "id" новой строки = 61.

Что посоветуете?
...
Рейтинг: 0 / 0
02.04.2017, 16:44
    #39431584
Krybik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление уникальной строки без наращивания инкремента
Просмотров много, ответов 0...

Видимо не корректно поставлен вопрос. Попробую уточнить.

Вставку произвожу запросом:

Код: plaintext
1.
INSERT IGNORE INTO table_name (`link`) VALUES new_value;

если такое значение уже присутствует, оно не добавляется, но счетчик автоинкремента для поля 'id' увеличивается.
В итоге для нового значения поля 'link' создается 'id' со значением большим чем количество строк в таблице.

Есть ли возможность реализовать вставку новых значений без наращивания автоинкремента дублирующимися значениями.

Сейчас это реализовано через предварительный SELECT и выбор не дублирующихся значений с последующей вставкой.
Хотелось бы избежать лишних обращений к БД.
...
Рейтинг: 0 / 0
02.04.2017, 17:19
    #39431604
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление уникальной строки без наращивания инкремента
Krybik,
честно - бессмылленное желание.
возникает, почему-то, прстояно
что говорит о плохом обучении
...
Рейтинг: 0 / 0
02.04.2017, 19:06
    #39431646
Krybik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление уникальной строки без наращивания инкремента
вадя, если вы не видите смысла - это не означает что его нет. И расставляете знаки препинания не по лунному календарю, а согласно правилам языка, очень не просто понять смысл написанного.
...
Рейтинг: 0 / 0
02.04.2017, 19:11
    #39431648
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление уникальной строки без наращивания инкремента
Krybikвадя, если вы не видите смысла - это не означает что его нет. И расставляете знаки препинания не по лунному календарю, а согласно правилам языка, очень не просто понять смысл написанного.
я не хочу обижать, поэтому прошу не обижаться.
если есть смыл — покажи его, но практика за много лет не дала ни одного примера такого смыла
...
Рейтинг: 0 / 0
02.04.2017, 19:48
    #39431658
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление уникальной строки без наращивания инкремента
Движок InnoDB? На MyISAM вроде не не наращивается индекс при INSERT IGNORE.
...
Рейтинг: 0 / 0
02.04.2017, 20:38
    #39431672
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление уникальной строки без наращивания инкремента
Krybikесли вы не видите смысла - это не означает что его нетДа мы уже задолбались вот таким "знатокам смысла" говорить одно и то же.

Поле - синтетический первичный ключ существует исключительно для однозначной идентификации записи. Единственным назначением такого поля является обеспечение работы подсистемы контроля целостности и непротиворечивости данных сервера БД. Иными словами, знать ни значение, ни даже факт наличия этого поля в обычных условиях пользователю не нужно. И любая попытка взгромоздить на такое поле дополнительный функционал (вроде непрерывной нумерации) непременно приведёт к конфликту и неразрешимым проблемам.

Нужно поле с непрерывной нумерацией? Создай его, заполняй (но не автоинкрементом - он придуман именно для первичной синтетики) и используй. А в чужое - не лезь.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Добавление уникальной строки без наращивания инкремента / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]