

お世話になっております。

どうか、アドバイス等を頂ければと存じます。よろしくお願い致します。

MySql内でテーブルをクリックすると、各タブが並んでいて、一番左側の”表示”タブをクリックするとそのテーブル内のフィールドが横の列に並びます。

今回の例ですと、ウェブサイトのURLを定義したテーブルで各フィールドに、例えば、page_id、name、url、filename、・・・とあります。

filenameとはそのサイトのテンプレートファイルなのですが、これをそのサイトのURLにフラッグを立てて、複数のテンプレートファイルに差し替えたいのですが、mysql側でその処理を設定することは可能でしょうか。（事情がありphp側でその処理を設定することができないため。）(仮にphp側で設定すると以下の様な設定になります。)

[code]

    if($_GET['id'] == 1 )  {
    $this->tpl_mainpage = 'file1.tpl';
    } else if($_GET['id'] == 2 )  {
    $this->tpl_mainpage = 'file2.tpl';
    } else {
    $this->tpl_mainpage = 'file3.tpl';
    }
    
[/code]


CC BY-SA 3.0
2016-12-14T15:14:17.707
31153
2017-08-13T10:19:06.923
2016-12-15T04:24:13.220
12732
19211
question
mysql
MySql内で条件分岐処理の設定をしたいです。


SQLでよければ  
※以下を実行すると、全レコードのfilenameを書き換えてしまいますのでご注意ください。  
（追記）「サイトのURLにフラッグを立てて」とあったので、全レコードのfilenameを書き換えないよう、条件を追加しました。  
テーブル名のところと、WHERE文のidの箇所を書き換えてください。

[code]

    UPDATE テーブル名 SET
      filename = CASE page_id
        WHEN 1 THEN 'file1.tpl'
        WHEN 2 THEN 'file2.tpl'
        ELSE 'file3.tpl'
    END
    WHERE page_id IN (1, 2, その他対象となるid)
    
[/code]


CC BY-SA 3.0
2016-12-16T00:50:17.760
31170
2016-12-16T00:56:58.017
2016-12-16T00:56:58.017
19913
19913
31153
answer