[pgsql-jp: 29882] pg_atoi エラーが出る

ohara takaaki ohr @ yoursys.org
2003年 5月 14日 (水) 21:20:39 JST


ohr(SQL 初心者)です.

『[pgsql-jp: 29824] text型にinsert するとpg_atoiエラーが』
という題で5月8日,一度投稿させていただきました.

お一方からアドバイスいただけましたが,未解決の
ままなので,もう一度題を変えて投稿しています(すみません)

=== 環境
Linux version 2.4.18-17.7.xcustom
Red Hat Linux 7.3 2.96-112
PostgreSQL 7.2.2

で,以下のような table1 を作成しました.

someflg  | smallint |
code     | integer  | not null default nextval('"table1_code_seq"'::text)
textcode | text     |

code は serial 型です.
この table1 に以下のような SQL 文を php スクリプトで作成し
pg_exec に渡します.

$textCode = 'str010101954';
$sql = "INSERT INTO table1(someflg, textCode) VALUES(0,'$textCode')";
pg_exec($con, $sql);

とすると,
Warning: pg_exec() query failed: ERROR: pg_atoi: error in
"str010101954": can't parse "str010101954" in ・

というエラー(警告)が出ます.(データは挿入されています)
TEXT 型にテキストを INSERT してこの pg_atoi エラーが出るのか
解りません.

因みに,
$textCode = '11111111';
などとして「文字」を省略するとエラーはでません.
が,
$textCode = 'aaaaaaaa';
などとすると同じエラーが出ます.

===

pg_atoi はアスキー文字を Integer に変換する(?)ぐらい
にしか理解していません.
どのようなことでも構いませんのでアドバイスいただけたら
幸いです.


-- 
ohara takaaki <ohr @ yoursys.org>




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