2010年8月20日

[mysql 15376] Re: int columnへの2147483648

sumiyaといいますす。お世話になっております。

From: Mikiya Okuno <mikiya.okuno@xxxxx>
Subject: [mysql 15375] Re: int column への2147483648
Date: Thu, 19 Aug 2010 21:50:03 +0900
Message-ID: <4C6D287B.3010009@xxxxx>

> bind[0].is_unsigned = 1にしましょう。

> そうしないと符号付き32ビット整数の最大値=2147483647に
> 引っかかってしまいます。

うーん!そうだったんですか?確かに、マニュアルを見ると、記載があり
ますが、サンプルコーディングには記載がないので、見落としました。

アプリを修正してみたところ、動作しました。

実は、このアプリ、5.0.24aの頃から使っているアプリなんですが、手元
の環境(5.0.47)では、show create table の結果は、

CREATE TABLE `t` (
`c1` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=sjis

int がsignedで定義され、先のアプリを実行すると、

mysql> select * from t;
+-------------+
| c1 |
+-------------+
| 2147483647 |
| -2147483648 |
+-------------+
2 rows in set (0.03 sec)

となり、書き込みが行えます。5.1.xになって、columnの型がunsignedに
変わり、is_unsigned = 1としないといけなくなったということでしょう
か?

アプリの修正を行います。ありがとうございました。

投稿者 xml-rpc : 2010年8月20日 08:23
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/97813
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。