|
|
|
| Скажите пожалуйста:
хочу сделатьбазу данных. Скажем, в ней несколько полей (допустим 4).
id
kod - что-то в роде личного кода (который не повторяется).
name
surname
Как сделать так, чтобы пользователь один раз зашёл и заполнил такие данные:
123AS5 (kod)
Алексей
Локимов
Заходит второй раз и заполняет
123AS5 (kod)
Владимир
Антинов
И здесь вылезает сообщение. Извините, такой код уже есть в системе.
Другими словами, чтобы происходила проверка поля kod на повторение (если есть такой код, то запись не происходит).
Как это сделать?
Может такая тема где обсуждалась... Или мет кто может написать примерный код.
Спасибо. | |
|
|
|
|
|
|
|
для: jurij_83
(14.03.2006 в 09:58)
| | Для этого следует перед выполнением оператора INSERT выполнить запрос, существует такой пользователь или нет. Кроме этого можно на полях содержащих эту информацию организовать уникальный индекс, тогда вставить не уникальное значение не получится - MySQL сама будет следить за этим. | |
|
|
|
|
|
|
|
для: cheops
(14.03.2006 в 13:29)
| | 1. Да, я тоже подумал, что проще, наверное, сделать уникальный индекс.
А как он делается? Просто в phpmyadmin выбрать?
2. И ещё вопрос: если это будет уникальный индекс, то, допустим добавил я одну запись; пытаюсь добавить вторую (с тем же кодом). Что будет происходить? Будет ли отображаться какое-то сообщение, что не добавляется (такой код есть)?
Спасибо за пояснения. | |
|
|
|
|
|
|
|
для: jurij_83
(14.03.2006 в 23:04)
| | 1) Да можно выбрать соответствующую управляющую ссылку в phpMyAdmin или воспользоваться оператором CREATE INDEX (подробнее о нём можно почить в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=419).
2) Будет возвращаться ошибка номер 1062 - Duplicate entry, но пугать вас это не должно, вы всегда можете узнать номер ошибки при помощи функции mysql_errno() и среагировать соответствующим образом. Номер на всякий случай проверьте экспериментально. | |
|
|
|