Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (php+sql) Предотвращение дублирования записи (да, детский вопрос) / 10 сообщений из 10, страница 1 из 1
14.11.2005, 18:25
    #33377459
-GL-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(php+sql) Предотвращение дублирования записи (да, детский вопрос)
есть таблица, в ней поля: p1, p2,..., p5
p1 - primary key, auto_increment
...
p5 - поле, в котором я хочу собрать какую-то инфу, которая предотвратить дублирование записей (ее содержимое будет конкатенацией определяемых уникальность записи полей)
Так вот, что мне написать, определеяя в таблице это поле p5?
И как сделать так, чтобы в дальнейшем, если мы хотим добавить запись в таблицу с уже существующим значением поля p5, не выводилась ошибка, а просто запись не добавлялась?
...
Рейтинг: 0 / 0
14.11.2005, 18:41
    #33377493
.-.-.-.-.-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(php+sql) Предотвращение дублирования записи (да, детский вопрос)
md5($p1.'!!'.$2.'!!'.$p3.'!!'.$p4.'!!'.$p5);
вместо '!!' желательно придумать строку, которая с большой долей вероятности не встретится в текстах переменных (даже если она встретится - это будет не смертельно)
...
Рейтинг: 0 / 0
14.11.2005, 18:42
    #33377497
.-.-.-.-.-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(php+sql) Предотвращение дублирования записи (да, детский вопрос)
.-.-.-.-.-md5($p1.'!!'.$2.'!!'.$p3.'!!'.$p4.'!!'.$p5);
вместо '!!' желательно придумать строку, которая с большой долей вероятности не встретится в текстах переменных (даже если она встретится - это будет не смертельно)
поправка :
md5($2.'!!'.$p3.'!!'.$p4);
p1 и p5 не надо в md5 писать
...
Рейтинг: 0 / 0
14.11.2005, 18:45
    #33377507
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(php+sql) Предотвращение дублирования записи (да, детский вопрос)
А построить UNIQUE индекс по тем полям, совокупность которых должна быть уникальной -- некучеряво? Если уж это не primary key...
...
Рейтинг: 0 / 0
14.11.2005, 19:19
    #33377566
.-.-.-.-.-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(php+sql) Предотвращение дублирования записи (да, детский вопрос)
DocAlА построить UNIQUE индекс по тем полям, совокупность которых должна быть уникальной -- некучеряво? Если уж это не primary key...
если поля текстовые - то индекс ты по ним не построишь.
Можно по substring-у, но это не совсем рабочее решение.
...
Рейтинг: 0 / 0
14.11.2005, 20:03
    #33377630
-GL-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(php+sql) Предотвращение дублирования записи (да, детский вопрос)
thanx
Но основную часть вопроса я бы все-таки уделил "И как сделать так, чтобы в дальнейшем, если мы хотим добавить запись в таблицу с уже существующим значением поля p5, не выводилась ошибка, а просто запись не добавлялась?"
А?
Заранее благодарен
...
Рейтинг: 0 / 0
14.11.2005, 20:07
    #33377634
.-.-.-.-.-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(php+sql) Предотвращение дублирования записи (да, детский вопрос)
-GL-thanx
Но основную часть вопроса я бы все-таки уделил "И как сделать так, чтобы в дальнейшем, если мы хотим добавить запись в таблицу с уже существующим значением поля p5, не выводилась ошибка, а просто запись не добавлялась?"
А?
Заранее благодарен
надо чтобы именно не выводилась ошибка или чтобы не было ошибки ?
Это 2 разных решения
...
Рейтинг: 0 / 0
14.11.2005, 20:24
    #33377657
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(php+sql) Предотвращение дублирования записи (да, детский вопрос)
Если построить индекс возможность есть, просто используйте INSERT IGNORE для вставки.
...
Рейтинг: 0 / 0
14.11.2005, 20:51
    #33377679
.-.-.-.-.-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(php+sql) Предотвращение дублирования записи (да, детский вопрос)
DocAlЕсли построить индекс возможность есть, просто используйте INSERT IGNORE для вставки.
Вобщем-то можно (а точнее нужно) построить уникальный индекс и по полю p5.
И использовать этот же метод.
...
Рейтинг: 0 / 0
14.11.2005, 20:51
    #33377680
-GL-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(php+sql) Предотвращение дублирования записи (да, детский вопрос)
.-.-.-.-.- -GL-thanx
Но основную часть вопроса я бы все-таки уделил "И как сделать так, чтобы в дальнейшем, если мы хотим добавить запись в таблицу с уже существующим значением поля p5, не выводилась ошибка, а просто запись не добавлялась?"
А?
Заранее благодарен
надо чтобы именно не выводилась ошибка или чтобы не было ошибки ?
Это 2 разных решения

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


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