MySQL: обновить столбцы, если определенное значение - PullRequest
3 голосов
/ 08 февраля 2012

Я не эксперт по SQL, и быстрый поиск в Google не сильно меня поразил (хотя я не думаю, что использую лучшие поисковые фразы).Надеюсь, вы, ребята, можете дать мне некоторое руководство.

У меня есть определенный столбец в таблице, где хранится число.Я хочу, чтобы это число было установлено ТОЛЬКО на 2, если оно ранее равнялось 1. Мне было интересно, можно ли этого избежать:

$val = mysql_fetch_row(mysql_query("SELECT columnA FROM tableName WHERE something = '$someValue'));

if($val[0] == 1) { .....UPDATE tableName SET columnA = 2....... }

Можно ли напрямую запрашивать базу данных?С чем-то вроде этого: SET columnA = 2 if columnA = 1

Ответы [ 3 ]

11 голосов
/ 08 февраля 2012

На самом деле запрос, который вы ищете, должен быть:

update tableName set columnA = 2
where columnA = 1

«Если», о котором вы говорите, на самом деле является условием. И эти условия задаются в предложении where оператора update.

Вот и все:)

3 голосов
/ 08 февраля 2012
UPDATE tableName SET columnA = 2 WHERE columnA = 1
3 голосов
/ 08 февраля 2012

Почему бы просто не выполнить обновление с условиями?

UPDATE tableName SET columnA = '2' WHERE columnA = '1'

Это должно делать то, что вы ищете

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