[前][次][番号順一覧][スレッド一覧]

mysql:15376

From: Etsuo SUMIYA <Etsuo SUMIYA <sumiya-e@xxxxxxxxxx>>
Date: Fri, 20 Aug 2010 08:23:53 +0900 (LMT)
Subject: [mysql 15376] Re: int column への2147483648

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

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

> 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としないといけなくなったということでしょう
か?

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




[前][次][番号順一覧][スレッド一覧]

     15374 2010-08-19 20:46 [Etsuo SUMIYA <sumiya] int column への2147483648               
     15375 2010-08-19 21:50 ┗[Mikiya Okuno <mikiya]                                       
->   15376 2010-08-20 08:23  ┗[Etsuo SUMIYA <sumiya]                                     
     15377 2010-08-20 22:10   ┗[SAKAI Kei <sak2@xxxx]                                   
     15378 2010-08-21 10:39    ┗[Etsuo SUMIYA <sumiya]                                 
     15379 2010-08-21 18:31     ┗[SAKAI Kei <sak2@xxxx]                               
     15381 2010-08-24 08:56      ┗["Watanabe Tomoyuki" ]