Обновление столбца - PullRequest
       6

Обновление столбца

1 голос
/ 27 февраля 2009

У меня есть таблица со столбцом состояния (изначально с progress). Мне нужно обновить значение этого столбца до success.

Этот запрос мне нужен?

Update "tablename" set status='success' where status='progress'

Причина, по которой я спрашиваю, состоит в том, что и обновление, и условие where проверяют один и тот же столбец.

Это правильно?

Ответы [ 5 ]

4 голосов
/ 27 февраля 2009

Это будет работать, но это изменит все строки, которые имеют прогресс в этом столбце.

Я думаю, что вы, вероятно, хотите ограничить обновление на основе какой-то другой части записи.

Например, если это был процесс установки определенного программного обеспечения (скажем, Ubuntu на компьютере № 7):

update tbl set status='success'
where status='progress'
and machine_id = 7
and software = 'Ubuntu'

С концептуальной точки зрения сначала собирается список записей, которые необходимо изменить (с предложением where), а затем применяется update ... set ко всем этим записям.

3 голосов
/ 27 февраля 2009

Да, это верно, укажите строку (и), которую вы хотите изменить, и передайте информацию в указанные столбцы:

Update MyTable set Allowed = 1 WHERE Allowed = 0 AND UserID = 123

Приветствия

Andrew

2 голосов
/ 27 февраля 2009

Да, все в порядке. Это обновит каждую строку в таблице, которая является "прогрессом", чтобы быть "успехом", хотя не только одна Я не уверен, хочешь ты этого или нет.

2 голосов
/ 27 февраля 2009

да, все верно, все строки, в которых status = 'progress' будут обновлены

2 голосов
/ 27 февраля 2009

Это утверждение изменит значение для каждой строки, где статус был «прогресс», на «успех». Вы действительно этого хотите?

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