質問: mysqlのテーブル設計で迷っています(桁数) mysqlのテーブル設計で迷っています。 クリエイト文のカッコの中は桁数を表しているのでしょうか?それともバイト数でしょうか?桁数であれば、それぞれの型で何桁まで設定できますでしょうか? int型のnoを18桁に変更したいのですが、調べているうちに迷ってしまいました。 型 バイト 最小値 最大値 tinyint 1 -128 127 smallint 2 -32768 32767 mediumint 3 -8388608 8388607 int 4 -2147483648 2147483647 bigint 8 -9223372036854775808 9223372036854775807 create table `user` ( `no` int(8) unsigned not null auto_increment, `id` varchar(24) not null default '', `email` varchar(255) not null default '', `reg_date` datetime not null default '0000-00-00 00:00:00', primary key (`no`) ) type=myisam;
回答: #1さんの回答で、 >文字列型はバイト数ですが、数値型の場合は表示桁数です。 とありますが、mysql 4.1を境に仕様変更されています。 char(10)の場合、 ~mysql 4.0→10バイト mysql 4.1~→10文字