我如何在MySQL查询中跳过一个单元格

我正在尝试在MySQL内部将名为“ downloads”的PHP代码更新列设置为零。


执行完命令后,我想将名为“ guest”的用户的列下载下的一个单元格更新为“ 100”,因为第一个查询将其重置为零。这是我的代码:


<?php

require_once 'connect.php';

if( $link->query("update users set downloads = 0") ){

    // succesful

} else {

    // fail

}

?>

我的表结构是这样的:


| NAME | PASSWORD | DOWNLOADS 

| Johny | XieofEnfoEQ | NULL 

| guest | nfOEnfoiJEJj | 100

有什么方法可以使查询更新所有下载内容,但为用户来宾保留一个单元格,而无需进行任何更改!


慕娘9325324
浏览 163回答 1
1回答

胡说叔叔

您可以使用表达式将查询的downloads值设置为100,guest将所有其他值设置为0&nbsp;CASE:UPDATE&nbsp;users SET&nbsp;downloads&nbsp;=&nbsp;CASE&nbsp;WHEN&nbsp;`NAME`&nbsp;=&nbsp;'guest'&nbsp;THEN&nbsp;100&nbsp;ELSE&nbsp;0&nbsp;ENDdbfiddle上的演示
打开App,查看更多内容
随时随地看视频慕课网APP