ホームページ  >  記事  >  データベース  >  SQL での「where 1=1」の用途は何ですか?

SQL での「where 1=1」の用途は何ですか?

青灯夜游
青灯夜游転載
2020-07-07 15:59:468817ブラウズ

SQL での「where 1=1」の用途は何ですか?

SQL での where 1=1 の使用

説明:

実際には、1=1 は永遠に真であり、無条件を意味します。つまり、SQL ステートメントに 1=1 があるかどうかは関係ありません。

この 1=1 は、さまざまなユーザーの選択に基づいてアプリケーションが条件を組み合わせる場合によく使用されます。

例: Web インターフェイスはユーザー情報をクエリします。デフォルトは 1=1 であるため、ユーザーが条件を選択しなくても、SQL クエリが間違ってしまうことはありません。ユーザーが名前を選択した場合、where は where 1=1 となり、name=「ユーザーが入力した名前」になります。他の条件が選択されている場合は、where 条件の後に and ステートメントを追加し続けます。

1=1を使用しない場合、条件を追加するたびに、その前にwhere条件があるかどうかを判断する必要があり、ない場合はwhere...、ある場合はwhereと記述します。 、and ステートメントを記述するため、この時点では 1=1 を使用すると簡素化できます。

例:

次のコードが最初に $where= '1=1' を定義している場合、$where

public function listAction()
    {
       $get = $this->getQuery();
        $statementBalanceDetailModel = M('Ticket\StatementBalanceDetail');

        $page = isset($get['page']) ? intval($get['page']) : 1;
        $pageSize = isset($get['page_size']) ? intval($get['page_size']) : 10;

        //用处
        $where = ' 1=1 ';
        $binds = array();
        if (isset($get['id']) && $get['id'] != '') {
            $where .= ' and id = :id';
            $binds['id'] = trim($get['id']);
        }

        if (isset($get['shop_name']) && $get['shop_name'] != '') {
            $where .= ' and shop_name = :shop_name';
            $binds['shop_name'] = trim($get['shop_name']);
        }

        if (isset($get['statement_sn']) && $get['statement_sn'] != '') {
            $where .= ' and statement_sn = :statement_sn';
            $binds['statement_sn'] = trim($get['statement_sn']);
        }

        $where .= ' order by id desc';
        $result = $statementBalanceDetailModel->paginate($where, $pageSize, $page, $fields = array(), $binds);
        $sceneryList = $result['data'];
        $total = $result['total_result'];
        $pager = Paginate::web($total, $page, $pageSize);

        $data = array(
            'pager' => $pager,
            'sceneryList' => $sceneryList,
        );

        $this->getView()->assign($data);
    }
# かどうかを判断する必要はありません。 # 存在します # この記事は次から転載されています: https://blog.csdn.net/longgeaisisi/article/details/100599010

推奨学習:

mysql チュートリアル

以上がSQL での「where 1=1」の用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。