SourceForge.jp

ちいたんフォーラム

要望 >> pgsqlで特定の値が期待通りInsertできない

さうす 2007-08-14 19:12:38
はじめまして。
ただいま開発に使わせていただいております。
さっそくですが、PostgreSQL 8.1.9にて下記の不具合がありました。

insert()メソッドにて
・text型のフィールドに「001」を挿入
→「1」として挿入される
・timestamp型にISO形式の日付時刻を挿入
→空白文字があるとエラー

おそらく「PostgreSQLでデータ取得のバグ?」トピックでの更新が影響しているのだと思いますけど、
不都合なので下記のように書き換えました。
さりげなくnullにも対応してます。

function insert( $table, $datas, $connect )
{
foreach( $datas as $key => $data )
{
$fieldHash[] = "\"$key\"";
$valueHash[] = ($data === null) ?
"null" :
"'" . str_replace("'", "''", $data) . "'";
}

$fieldList = implode(',', $fieldHash);
$valueList = implode(',', $valueHash);

$query = "INSERT INTO $table($fieldList) VALUES($valueList)";

return $this->query( $query, $connect );
}

……あと、超細かい点で誠に恐縮ですが、
「datum」の複数形が「data」ですよ。
返信  パスワード      


開発者 2007-08-27 12:20:42
御連絡まことにありがとう御座います。
修正ありがとう御座います。

datasは確かにそうですね。
恥ずかしいと知りながら面倒なので放置しています…(笑
パスワード