- ベストアンサー
データベースに登録はされるが数字が登録されない
いつもお世話になってます。 データベースに登録することはできるようになったのですが、数字がうまく登録されません。 ------------------------------ レンタルサーバー kagoya 環境 PHP 5.2.6 Apache/1.3.41 MySQLバージョン 5.0.33 ------------------------------ テーブルの構成は BIGINT keyid(12) int id(10)×14コで構成されています。 今回KeyIdで検索してIDを表示するPGを作ろうと考えています。 ----------------------------------------------------- ソース $sql = "INSERT INTO toresabi VALUES ('111112222255','1111111111','1234567891','2345678912','3456789123','4567891234','5678912345','6789123456','7891234567','8912345678','9123456789','2323232323','3434343434','4545454545','1010101010')"; ----------------------------------------------------------- 登録されるのですがPHPMYADMINを見ると 1112222255 1111111111 1234567891 2147483647 2147483647 2147483647 2147483647 2147483647 2147483647 2147483647 2147483647 2147483647 2147483647 2147483647 が登録されてしまいます。 すみませんが分かる方いらっしゃいましたらよろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#1の回答を一部修正 int(10)をint(11)にしても結果は同じです。 intの桁数は有効桁数ではなく、表示上の桁数です http://oshiete1.goo.ne.jp/qa4267014.html この場合はbigintでよいのでは? create table toresabi ( keyid bigint(12) ,data01 bigint(10) ,data02 bigint(10) ,data03 bigint(10) ,data04 bigint(10) ,data05 bigint(10) ,data06 bigint(10) ,data07 bigint(10) ,data08 bigint(10) ,data09 bigint(10) ,data10 bigint(10) ,data11 bigint(10) ,data12 bigint(10) ,data13 bigint(10) ,data14 bigint(10) );
その他の回答 (3)
- t_netbug
- ベストアンサー率34% (15/44)
>#3様 Σ( ̄□ ̄) そうなんですか…。 ということだそうです。 #3の言うとおりbigintで( >_<)
- t_netbug
- ベストアンサー率34% (15/44)
失礼 >int(10)の時の最大値が2147483547だからじゃないですか? 2147483547じゃなく → 2147483647です。。
- t_netbug
- ベストアンサー率34% (15/44)
int(10)の時の最大値が2147483547だからじゃないですか? 負の数値を入れないのであれば、unsignedを付加してあげる事で、単純に最大値が2倍まで上がるとおもいます。 あるいはint(10)をint(11)にあげるか。
お礼
早速の回答ありがとうございます。質問したあとに本をみて気付きました。。すみません。またまた質問なのですがすべてbigintにしても問題はないのでしょうか?