[pgsql-jp: 28257] Re: date型カラムのデータを消去するupdate や insert

S.Okazaki okazaki @ jp-hb.com
2002年 12月 11日 (水) 12:24:17 JST


岡崎です。

> ということはSQL文を生成する際に、日付が未入力のカラムを
> 判断して、動的に『日付の未入力のカラムについては記述しない』
> ということでしょうか?

そうです。下を読むとPHPで書かれているようですが、
PHPの方で判断してSQL文を生成してください。

> 実際のSQL文は
> insert into test_table(id,hizuke) values($id_num,'$hizuke_date');
> という形で変数を使っています。

具体的には、
$lists=$_POST['lists'];   $lists=array('id','hizuke',…)
$vals=$_POST['vals'];     $vals=array('1,','2002-12-10',…)
(or $_GET or $_SESSION etc)
$sql="INSERT INTO test_table";
$sql1="(";
$sql2="VALUES(";
for($i=0;$i<sizeof($lists);++$i) {
    if($vals[$i]!="") { 
      $sql1 .=$lists[$i].","; 
      $sql2 .=$vals[$i].",";
    }
}
とやって最後に合成します。
# 今、適当に書いたので不具合は沢山あると思います(^^;
# 特にカンマなど…

> また、追加(insert)についてはokazaki様のお話で解るのですが、
> 更新(update)の際、記入されていた日付データを消去したい場合などに
> 対応できなくなってしまいます。
> その場合はどういうSQLを書けばよいのでしょうか?

???
これはnullにすればいいと思いますが…
UPDATE test_table SET hizuke=null;

/_/_/_/_/_/_/_/_/_/_/_/_/_/
Japan Human Base 
Sotaro Okazaki
Email : okazaki @ jp-hb.com
/_/_/_/_/_/_/_/_/_/_/_/_/_/




pgsql-jp メーリングリストの案内