Обновить столбец в базе данных, где максимальное значение php mysql

У меня проблемы. im update name, где B имеет наибольшее значение.

поэтому результаты

B | name ---|------ 1 | 2 | 3 | YES 

но когда значение столбца B меняет значение, проблема в имени столбца со значением строки 3 все еще имеет значение.

 B | name ---|------ 1 | 4 | YES 3 | YES 

результаты должны быть.

 B | name ---|------ 1 | 4 | YES 3 | 

если

 B | name ---|------ 0 | 0 | 0 | 

тогда

 B | name ---|------ 0 | 0 | 0 | 

если,

 B | name ---|------ 4 | 4 | 2 | 

тогда

 B | name ---|------ 4 | YES 4 | YES 2 | 

это то, чего я хочу.

im только используя этот простой код.

 $sql3 = "UPDATE products SET name='YES' ORDER BY B DESC"; 

Я думаю, вы хотите обновить строку в таблице, где столбец B является самым высоким значением? Вам определенно нужно предложение WHERE, но вам также нужно знать самое высокое значение в этом столбце. Почему вы не запрашиваете базу данных сначала для получения наивысшего значения из столбца B?

 $maxvalue = "SELECT `B` FROM products ORDER BY `B` DESC LIMIT 1" 

а затем вставить в базу данных, где столбец B равен этому значению?

 "UPDATE products SET name='YES' WHERE B = $maxvalue" 

Это не полный код, просто концептуальный. Я очищу его и отредактирую этот ответ …

Вы должны запустить UPDATE products set name = ''; каждый раз, а затем:

 UPDATE products set name = 'YES' WHERE B > 0 ORDER BY B DESC