[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 メーリングリストの案内