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

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

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

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

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

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

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

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

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

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

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


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