
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.08.2013, 00:43:17
|
|||
|---|---|---|---|
|
|||
вопрос по уникальным полям |
|||
|
#18+
Возник вопрос по уникальным полям в mysql. Допустим есть таблица с полем обьявленным как уникальное. С алгоритмической стороны это такой себе Set данных. Как лучше добавлять записи(которых будет довольно много) в эту таблицу - сначала делать проверку на существование такой записи и если отсутствует добавлять либо сразу пытаться добавить запись(без проверки на существование) которая в случае дубля сама по себе не будет добавлена и mysql сгенерирует ошибку ? Какой подход стоит использовать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.08.2013, 00:50:22
|
|||
|---|---|---|---|
вопрос по уникальным полям |
|||
|
#18+
Третий вариант - автоинкрементное поле. Подойдет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.08.2013, 00:51:56
|
|||
|---|---|---|---|
|
|||
вопрос по уникальным полям |
|||
|
#18+
к сожалению нет, так как мне не нужны повторяющиеся данные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.08.2013, 00:58:15
|
|||
|---|---|---|---|
|
|||
вопрос по уникальным полям |
|||
|
#18+
Возможно я чуть неточно сформулировал задачу - уникальное поле - это varchar(128) которое содержит email адреса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.08.2013, 01:35:43
|
|||
|---|---|---|---|
вопрос по уникальным полям |
|||
|
#18+
В таком случае подойдет любой из Ваших двух вариантов. Возможно, вопрос стоит о накладных расходах? В первом случае будет два запроса и дважды будет использован индекс. Во втором случае только один запрос. Полагаю, что генерация ошибки во втором случае будет менее накладной, чем выполнение целого отдельного запроса. Конечно, могу ошибаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.08.2013, 07:56:46
|
|||
|---|---|---|---|
вопрос по уникальным полям |
|||
|
#18+
Alexanoid, Делайте: 1. или REPLACE вместо вставки (это если надо сохранить новые данные и пофиг на то, что было ранее под этим ключом) 2. или в INSERT добавляйте IGNORE (это если положительно относитесь к новым данным, в смысле готовы на них положить, но сохранить старые), 3. или к оператору INSERT добавляйте обработку ON DUPLICATE KEY UPDATE ... и указывайте что и как, из полей записи этой записи, надо обработать при вставке дублирующегося ключа ручками... можете например, добавить поле с подсчетом сколько дубликатов сюда пыталось воткнуться, как дополнительно... или обновлять дату изменения записи для ведения архивных данных или логирования действий юзверей или ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.08.2013, 12:34:31
|
|||
|---|---|---|---|
|
|||
вопрос по уникальным полям |
|||
|
#18+
vkle, Arhat109 спасибо большое ! я еще не пробовал но судя по всему INSERT IGNORE это то, что мне нужно ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.08.2013, 21:24:56
|
|||
|---|---|---|---|
|
|||
вопрос по уникальным полям |
|||
|
#18+
Прошу прощения, что пишу не по теме, т.к. не нашел подходящую. В общем такая ситуация: в базе данных имеется поле "id" - AUTO_INCREMENT. После удаления из таблицы определенных записей ИД записей не упорядочивается. Пример: ряд записей где id - 1,2,3,4,5. Удалили третий ряд - получилось: 1,2,4,5. И при добавлении следующей записи ИД уже будет 6. т.е 1,2,4,5,6. Как сделать так, чтобы строго упорядочивался столбец id? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.08.2013, 21:31:06
|
|||
|---|---|---|---|
|
|||
вопрос по уникальным полям |
|||
|
#18+
Nik0la, а можно поинтересоваться зачем??? сделоть то можно, но зачем???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.08.2013, 21:32:44
|
|||
|---|---|---|---|
|
|||
вопрос по уникальным полям |
|||
|
#18+
Дело в том, что этот Id потом выводится в таблицу на сайте. Коряво получается. "Беспорядочность" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.08.2013, 23:14:26
|
|||
|---|---|---|---|
|
|||
вопрос по уникальным полям |
|||
|
#18+
Ну и зачем тебе в таблице оригинальный айди. бери просто нумеруй вывод. вот храниться у тебя в таблице - множество чегото. Зачем мне читая список этого(часть списка) знать его оригинальный айди??? мне это чемто полезно будет? выводисебе нумерацию скриптом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1836225]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 360ms |

| 0 / 0 |
