Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: запрет на вставку поля с уже существующим именем
$result=mysql_query('INSERT INTO regions(title,id,district_id)
VALUES("'.$_POST['name_region'].'",
'.$id.',
'.$_POST['selected_district'].')');
if(!$result){
$this->ERROR_MESSAGE='В данном округе регион с таким названием уже существует';
}
собственно код говорит сам за себя. автоинкремент на id я не ставлю, мне так удобней, поэтому и я пользуюсь первым запросом для того чтобы вставить нужный id.
проблема в том, что у меня вставляются записи в таблицу даже если у меня есть одинаковые поля title. мне нужно это как-то отключить.
а именно задача: запретить вставлять поля, если поле title с таким именем уже существует.
буду рад помощи!
Опоссум
Отправлено: 01 Ноября, 2011 - 07:37:16
Новичок
Покинул форум
Сообщений всего: 32
Дата рег-ции: Окт. 2011
Помог: 2 раз(а)
Попробуй сделать это средствами PHP а не MqSql.
Т.е. делай в начале проверку на уникальность title
$query = mysql_query("SELECT * FROM table WHERE title ='Какой то title' LIMIT 1");
if (mysql_num_rows($query) == 0) {
Выполняем INSERT
}
Мелкий
Отправлено: 01 Ноября, 2011 - 07:54:20
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
0) используйте автоинкремент.
1) поставьте уникальный индекс на title
----- PostgreSQL DBA
Иван14
Отправлено: 01 Ноября, 2011 - 08:03:11
Гость
Покинул форум
Сообщений всего: 111
Дата рег-ции: Авг. 2011 Откуда: Владивосток
Помог: 0 раз(а)
Мелкий,
а без 0) никак?
EuGen
Отправлено: 01 Ноября, 2011 - 08:20:36
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Иван14
auto_increment можно выставить только для PRIMARYуникального ключа (хотя он и может быть многоколоночным).
Стало быть, имелось ввиду "или".
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Мелкий
Отправлено: 01 Ноября, 2011 - 08:51:23
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Иван14, в этом случае - пункты между собой не связаны.
EuGen пишет:
auto_increment можно выставить только для PRIMARY ключа (хотя он и может быть многоколоночным).
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.