PHP MySQL - обновить несколько строк в таблице - PullRequest
1 голос
/ 20 апреля 2011

Хорошо, у меня есть система контрольных списков, над которой я работаю. Существует страница, которая извлекает данные из базы данных и отображает их в виде контрольного списка. Я пытаюсь создать кнопку, которая при нажатии сбрасывает базу данных в определенное состояние, которое я хочу. По сути, у меня есть кнопка, которая отправляет вызов ajax на страницу php, которая выполняет запрос UPDATE. Этот запрос выглядит следующим образом:

UPDATE $table SET value='$value', comments='$comments', editedBy='$editedBy', editedDate='$editedDate' WHERE projectId='$projectId';

Сначала я установил переменные, это не мой вопрос. Просто притворись, что у них есть данные. У меня вопрос, как я могу повторить этот запрос, чтобы обновлялась каждая таблица строк x с идентификатором проекта n ? Я предполагаю, что это включает цикл for?

СТОРОННОЕ ПРИМЕЧАНИЕ: поскольку этот запрос просто устанавливает значение false и делает поля comments, editedBy и editedDate пустыми для каждой строки в таблице x , которая имеет ИД проекта n , есть ли лучший способ сделать это, кроме запроса UPDATE?

Спасибо за любую помощь!

1 Ответ

2 голосов
/ 20 апреля 2011

Пока вы не разделяете LIMIT в своем запросе UPDATE, он будет обновлять каждую найденную строку, которая удовлетворяет вашему предложению where.

Теперь, если вы обновляете таблицу проектов и projectID является вашим первичным ключом, вам нужно запустить цикл для обновления других projectID s. Если вы не обновляете таблицу проекта, то ваш запрос на обновление обновит любую запись, у которой внешний ключ соответствует указанному вами идентификатору проекта.

Это помогает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...