前提・実現したいこと
SQLでパラメーターが存在する場合にセットし、存在しない場合は無視したいです。
SQLはMySQLを使用しています。
該当のソースコード
SQL
1UPDATE TABLE SET (NAME = :NAME OR :NAME IS NULL), (MAIL = :MAIL OR :MAIL IS NULL), UPDATE_DT = NOW() WHERE ID = :ID;
PHP
1$qParam = array(); 2 $qParam["ID"] = $param["id"]; 3 $qParam["NAME"] = $param["name"]; 4 $qParam["MAIL"] = $param["mail"];
発生している問題・エラーメッセージ
$param["name"]や$param["mail"]に値がないとき、無視したいです。 ※その際は、以下のようなSQLが発行される想定です。 UPDATE TABLE SET UPDATE_DT = NOW() WHERE ID = 1;
試したこと
Where句ではうまく動いたので、Update文でも使いたいなと思っています。
補足情報(FW/ツールのバージョンなど)
なし
回答2件
あなたの回答
tips
プレビュー