powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / вопрос по уникальным полям
11 сообщений из 11, страница 1 из 1
вопрос по уникальным полям
    #38369581
Alexanoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возник вопрос по уникальным полям в mysql. Допустим есть таблица с полем обьявленным как уникальное. С алгоритмической стороны это такой себе Set данных.

Как лучше добавлять записи(которых будет довольно много) в эту таблицу - сначала делать проверку на существование такой записи и если отсутствует добавлять либо сразу пытаться добавить запись(без проверки на существование) которая в случае дубля сама по себе не будет добавлена и mysql сгенерирует ошибку ?

Какой подход стоит использовать ?
...
Рейтинг: 0 / 0
вопрос по уникальным полям
    #38369585
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Третий вариант - автоинкрементное поле. Подойдет?
...
Рейтинг: 0 / 0
вопрос по уникальным полям
    #38369587
Alexanoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
к сожалению нет, так как мне не нужны повторяющиеся данные
...
Рейтинг: 0 / 0
вопрос по уникальным полям
    #38369590
Alexanoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно я чуть неточно сформулировал задачу - уникальное поле - это varchar(128) которое содержит email адреса
...
Рейтинг: 0 / 0
вопрос по уникальным полям
    #38369598
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таком случае подойдет любой из Ваших двух вариантов. Возможно, вопрос стоит о накладных расходах? В первом случае будет два запроса и дважды будет использован индекс. Во втором случае только один запрос. Полагаю, что генерация ошибки во втором случае будет менее накладной, чем выполнение целого отдельного запроса. Конечно, могу ошибаться.
...
Рейтинг: 0 / 0
вопрос по уникальным полям
    #38369628
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexanoid,

Делайте:
1. или REPLACE вместо вставки (это если надо сохранить новые данные и пофиг на то, что было ранее под этим ключом)

2. или в INSERT добавляйте IGNORE (это если положительно относитесь к новым данным, в смысле готовы на них положить, но сохранить старые),

3. или к оператору INSERT добавляйте обработку ON DUPLICATE KEY UPDATE ... и указывайте что и как, из полей записи этой записи, надо обработать при вставке дублирующегося ключа ручками... можете например, добавить поле с подсчетом сколько дубликатов сюда пыталось воткнуться, как дополнительно... или обновлять дату изменения записи для ведения архивных данных или логирования действий юзверей или ...
...
Рейтинг: 0 / 0
вопрос по уникальным полям
    #38369674
Alexanoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle, Arhat109 спасибо большое !

я еще не пробовал но судя по всему INSERT IGNORE это то, что мне нужно !
...
Рейтинг: 0 / 0
вопрос по уникальным полям
    #38370140
Nik0la
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения, что пишу не по теме, т.к. не нашел подходящую.
В общем такая ситуация: в базе данных имеется поле "id" - AUTO_INCREMENT. После удаления из таблицы определенных записей ИД записей не упорядочивается.
Пример: ряд записей где id - 1,2,3,4,5. Удалили третий ряд - получилось: 1,2,4,5. И при добавлении следующей записи ИД уже будет 6. т.е 1,2,4,5,6.
Как сделать так, чтобы строго упорядочивался столбец id?
...
Рейтинг: 0 / 0
вопрос по уникальным полям
    #38370146
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nik0la,

а можно поинтересоваться зачем???

сделоть то можно, но зачем????
...
Рейтинг: 0 / 0
вопрос по уникальным полям
    #38370147
Nik0la
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело в том, что этот Id потом выводится в таблицу на сайте. Коряво получается. "Беспорядочность"
...
Рейтинг: 0 / 0
вопрос по уникальным полям
    #38370193
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и зачем тебе в таблице оригинальный айди. бери просто нумеруй вывод.

вот храниться у тебя в таблице - множество чегото.

Зачем мне читая список этого(часть списка) знать его оригинальный айди???

мне это чемто полезно будет?

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


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