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 :: INSERT - ЗАПРОС

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
alnik-75
Отправлено: 17 Июля, 2016 - 17:49:54
Post Id



Посетитель


Покинул форум
Сообщений всего: 338
Дата рег-ции: Сент. 2012  
Откуда: Гродно, Беларусь


Помог: 0 раз(а)




есть таблица со следующей структурой:

id_page id_form order
1 1 1
1 2 2
2 6 1
2 7 2
2 8 3

эта таблица связывает страницы на сайте и формируемые на них элементы форм. order - порядок вывода элементов форм.
Так, для примера, вставка новой записи id_page=2, id_form=3. Мне нужно определить max значение поля order для id_page=2 и при вставке сделать его на единицу больше (в данном случае, order=4).
Сначала выполняем SELECT с поиском max значения И потом выполняем соответствующий INSERT.

Уважаемые форумчане, подскажите вариант с одним запросом или укажите, что можно почитать в этом направлении (что то мне не уджалось самому раныть).

Заранее выражаю благодарность за помощь
 
 Top
Строитель Модератор
Отправлено: 17 Июля, 2016 - 18:00:50
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




alnik-75 пишет:
подскажите вариант с одним запросом или укажите, что можно почитать
Посмотрите тут http://www[dot]spravkaweb[dot]ru/mysql/sql/insert
(Добавление)
INSERT ... SELECT внизу страницы.
 
 Top
alnik-75
Отправлено: 17 Июля, 2016 - 18:07:03
Post Id



Посетитель


Покинул форум
Сообщений всего: 338
Дата рег-ции: Сент. 2012  
Откуда: Гродно, Беларусь


Помог: 0 раз(а)




Строитель пишет:
alnik-75 пишет:
подскажите вариант с одним запросом или укажите, что можно почитать
Посмотрите тут http://www[dot]spravkaweb[dot]ru/mysql/sql/insert
(Добавление)
INSERT ... SELECT внизу страницы.

Там про вставку на основе выборки из другой таблицы
 
 Top
Sail
Отправлено: 02 Августа, 2016 - 14:58:29
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




alnik-75 пишет:
Мне нужно определить max значение поля order для id_page=2 и при вставке сделать его на единицу больше

Для обеспечения "безглючности" этого действия рассмотрите вариант использования LAST_INSERT_ID([dot][dot][dot])
 
 Top
DarkLan
Отправлено: 02 Августа, 2016 - 17:55:29
Post Id



Новичок


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июль 2016  


Помог: 0 раз(а)




Вложеные запросы.
Какой смысл это делать? Зачем вам тогда ключи таблиц? Прочтите о нормализации БД и также загляните в термин "Атомарные данные".
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB