|
|
|
Запретить запись в базу, если в базе уже есть такая запись - PHP БД
|
|||
|---|---|---|---|
|
#18+
Помогите пожалуйста,есть запрос : Код: plsql 1. 2. 3. 4. который через форму получает данные и записывает их в бд. Как реализовать чтобы, по полю "Num"-(туда записывается номер нарушения, цифрами) был запрет записи одинаковых данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2016, 08:03 |
|
||
|
Запретить запись в базу, если в базе уже есть такая запись - PHP БД
|
|||
|---|---|---|---|
|
#18+
Сделать уникальный индекс по указанному полю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2016, 08:33 |
|
||
|
Запретить запись в базу, если в базе уже есть такая запись - PHP БД
|
|||
|---|---|---|---|
|
#18+
vkle, точно. И получить на клиенте сообщение "SQLSTATE ERROR ..." после которого сайт уходит на 105-й километр в поисковой оптимизации, а автора гонят с работы "с волчьим билетом". :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2016, 08:39 |
|
||
|
Запретить запись в базу, если в базе уже есть такая запись - PHP БД
|
|||
|---|---|---|---|
|
#18+
vkle, не вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2016, 08:43 |
|
||
|
Запретить запись в базу, если в базе уже есть такая запись - PHP БД
|
|||
|---|---|---|---|
|
#18+
Arhat109И получить на клиенте сообщение "SQLSTATE ERROR ..."Чтобы такого не случилось, есть ON DUPLICATE KEY UPDATE. В крайнем случае INSERT IGNORE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2016, 09:07 |
|
||
|
Запретить запись в базу, если в базе уже есть такая запись - PHP БД
|
|||
|---|---|---|---|
|
#18+
barmakКак реализовать чтобы, по полю "Num"-(туда записывается номер нарушения, цифрами) был запрет записи одинаковых данных.Если имеется в виду запрос на клиенте - то сначала проверка наличия SELECTом, и только при отсутствии - вставка. Если на сервере - см. выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2016, 09:08 |
|
||
|
Запретить запись в базу, если в базе уже есть такая запись - PHP БД
|
|||
|---|---|---|---|
|
#18+
Да на клиенте, можешь написать как проверку сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2016, 09:49 |
|
||
|
Запретить запись в базу, если в базе уже есть такая запись - PHP БД
|
|||
|---|---|---|---|
|
#18+
barmak, уже написали, SELECT'ом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2016, 09:55 |
|
||
|
Запретить запись в базу, если в базе уже есть такая запись - PHP БД
|
|||
|---|---|---|---|
|
#18+
tanglir, ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2016, 09:58 |
|
||
|
Запретить запись в базу, если в базе уже есть такая запись - PHP БД
|
|||
|---|---|---|---|
|
#18+
barmakна клиенте, можешь написать как проверку сделать?Могу, но... Ответь вот на какой вопрос. Ты пишешь, что barmakпо полю "Num"-(туда записывается номер нарушения, цифрами) был запрет записи одинаковых данных. Так вот. Если такое значение Num в таблице имеется - что нужно сделать? Вряд ли просто молча проигнорировать введённые оператором данные - это нехорошо, если он думает, что данные записаны, а это не так... Заодно подумай, а что если по NUM-таки дубликат, а вот по другим полям нет? скажем, в имеющейся записи в поле note лежит краткое описание, а оператор ввёл полное... С моей точки зрения интерфейс должен работать немного по-другому. После ввода значения Num он должен по кнопке или асинхронно запрашивать наличие и содержимое записи. И если таковая имеется - он должен показывать оператору, что содержится в полях этой записи. Как вариант - вместо ввода новой записи должен переводить его в режим корректировки существующей записи. Впрочем, это зависит от закладываемых в клиент процессов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2016, 10:03 |
|
||
|
Запретить запись в базу, если в базе уже есть такая запись - PHP БД
|
|||
|---|---|---|---|
|
#18+
Arhat109И получить на клиенте сообщение "SQLSTATE ERROR ..."Ну так ошибки обрабатывать надо немного более интеллектуальным образом, чем "or die()". Автор попробует на тестовом сайте, увидит возникающую ошибку и напишет для нее отдельный обработчик :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2016, 10:12 |
|
||
|
Запретить запись в базу, если в базе уже есть такая запись - PHP БД
|
|||
|---|---|---|---|
|
#18+
Akina, по другим полям совпадения не страшны, только по Num совпадений не должно быть, ты прав, если такая запись уже есть в Num нужен вывод ошибки "Запись с таким номером уже существует", ты прав, просто я не могу этого реализовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2016, 10:14 |
|
||
|
Запретить запись в базу, если в базе уже есть такая запись - PHP БД
|
|||
|---|---|---|---|
|
#18+
Я только учусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2016, 10:18 |
|
||
|
Запретить запись в базу, если в базе уже есть такая запись - PHP БД
|
|||
|---|---|---|---|
|
#18+
barmakесли такая запись уже есть в Num нужен вывод ошибки "Запись с таким номером уже существует"Как правильно сказано выше: miksoftошибки обрабатывать надо немного более интеллектуальным образом, чем "or die()". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2016, 10:44 |
|
||
|
Запретить запись в базу, если в базе уже есть такая запись - PHP БД
|
|||
|---|---|---|---|
|
#18+
barmak, возьмите один столбец, и установите его уникальным. mysql> ALTER TABLE cats ADD UNIQUE(name(32)); после этого, при повторном вводе одинаковых знаений полуите Duplicate entry 'Leo' for key 'name' /*.mysql_error())*/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 22:21 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39227256&tid=1831540]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
154ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 439ms |

| 0 / 0 |
