![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
KoLiZeI |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 6.4.2007 Где: г. Саратов Репутация: нет Всего: нет |
Народ подскажите можно ли занести одним запросом значения сразу в несколько строк
Допустим есть таблица <название> <Значение> название1 Значение1 название2 Значение2 название3 Значение3 название4 Значение4 Нужно обновить значения во всех полях, нужно вызывать UPDATE для каждого поля, или можно сделать одним запросом? ![]() |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Ответ зависит от того, как именно задано, что и где надо обновлять -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
KoLiZeI |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 6.4.2007 Где: г. Саратов Репутация: нет Всего: нет |
В каком смысле?
Строки заданы в виде название->значение Таких строк N Допустим что значения из этих строк выводятся в форме и при нажатии Сохранить эти строки должны обновиться, точнее 1 поле в кажой строке! |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
и как БД "догадается", в каких записях какие значения вставлять?
нет, тебе надо прописывать явно. другой вопрос, что SQL-запрос можно сгенерировать, а не указывать руками все возможные сочетания "имя+значение" |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Тогда по 1 запросу на каждую запись.
Вот если бы на сервере была таблица соответствия обновлений - обошелся бы одним запросом. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
nbsp |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 9.7.2007 Репутация: нет Всего: нет |
мой случай:
есть таблица (mytable): <id> <count> 1 10 4 5 5 55 9 11 допустим, через форму передаются значения id и новые значения count. хотелось бы одним запросом обновить значения, сгенерировав запрос. это "псевдо синтаксис", естественно он НЕ рабочий (взято у человека с аналогичной задачей): UPDATE mytable SET count = '111, 333, 777, 222' WHERE id = '1, 4, 5, 9' Возможно ли сделать подобное? Это сообщение отредактировал(а) nbsp - 10.4.2008, 16:12 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Нет.
Однако можно обойтись двумя запросами. Создаешь временную таблицу той же структуры (в принципе это третий запрос), и потом insert into temp_table(id, val) values (...) и затем update из этой временной таблицы. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
nbsp |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 9.7.2007 Репутация: нет Всего: нет |
![]() |
|||
|
||||
mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 2 Всего: 54 |
nbsp, можно одним запросом, к примеру так:
-------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 3 Всего: 32 |
только опять же непонятно - зачем.
|
|||
|
||||
mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 2 Всего: 54 |
Пример, который я привел, использую когда необходимо обновить сразу несколько записей и при этом известно их ID. К примеру, обновление порядка следования пунктов меню или других элементов. -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 3 Всего: 32 |
ну, я не к тебе лично, а вообще к повторяющейся уже в который раз суете "одним запросом".
точно так же обновление порядков можно сделать двумя последовательными, и ничего не случится. |
|||
|
||||
nbsp |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 9.7.2007 Репутация: нет Всего: нет |
mishaSL, большое спасибо за ваш вариант, всё отлично работает.
Feldmarschall, приведите, пожалуйста, ваш вариант запроса. Это сообщение отредактировал(а) nbsp - 10.4.2008, 20:52 |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 3 Всего: 32 |
nbsp, если из моих слов вариант непонятен, то приводить его тем более смысла нет.
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |