php - 如果更新值为特定字符串则跳过更新表字段

标签 php mysql

我可以检查更新值是否为N,然后跳过此字段吗?

应该用PHP还是MySQL的代码来完成?

流程是:

之前

更新商店集 book1 = 'Y'、book2 = 'Y'、book3 = 'N'、book4 = 'N'、book5 = 'N',其中 id =1;

之后

更新商店集 book1 = 'Y', book2 = 'Y' 其中 id =1;

因为book3、book4和book5将被更新为N的值,所以我跳过这个字段

最佳答案

这是一个非常开放式的问题。这取决于您如何为脚本构建 SQL 代码,但如果您想更改 SQL,那么在 PHP 中执行将是您最好的选择。

举个简单的例子,你可以这样做:

$books = array ( 'book1' => 'Y',
                'book2' => 'Y',
                'book3' => 'N',
                'book4' => 'N',
            );

$updates = array();         

foreach ($books as $book => $value) {
    if ($value != 'N') {
        $updates[] = "$book  = '$value'";
    }
}

$update = implode(', ', $updates);
$query = 'update store set '.$update.' where id =1;';

关于php - 如果更新值为特定字符串则跳过更新表字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11210160/

相关文章:

Mysql 4转5查询转换——加入头痛

php - 如何通过 php 将这些 Jquery 变量发送到 Mysql?

php - 将许多可选参数传递给 Laravel 4 中的路由

php - 获取 PharFileInfo 对象的 fileName 属性

PHP-返回任何表和列的最大值

php - Opencart如何测试模块是否安装?

php - 如何判断是否设置了 PHP 方法/函数中的可选参数?

mysql - Where 子句在存储过程之外工作时不起作用

php - 如何在mysql中选择不同列的总和

mysql - 找到支付最高薪水的部门