値: 0123456789 を保存したい場合、int 型を選択した場合、その「長さ/値」はどのくらい書けばよいですか?計算方法は、この長さ/値に 1 を書くと実際に保存できることがわかりました。または、文字列「あなたの名前」の 4 文字を保存したい場合は、どのくらいの長さ/値を書けばよいでしょうか。 ?
幅を設定する必要があるのは varchar 型と char 型のフィールドだけであり、幅は文字ごとに計算されます
注: 中国語の文字は 1 文字ですが、適切な「照合順序」を設定する必要があります
varchar 型と char 型フィールドのみを設定する必要があります 幅を設定し、幅は文字ごとに計算されます
注: 漢字は 1 文字ですが、適切な「編成」で設定する必要があります
これによると、 int 型では (phpmyadmin で) 「長さ/値」を設定する必要はありません。例を挙げていただけますか
素晴らしい投稿、そこから学びました
CREATE TABLE test_str_and_int( id int(10) NOT NULL auto_increment,
str1 VARCHAR (3) NOT NULL、
str2 VARCHAR(30) NOT NULL、
test_int_1 TINYINT(1) NOT NULL DEFAULT 1 、
test_int_2 SMALLINT(5) NOT NULL DEFAULT 1、
PRIMARY key(id)
)ENGINE =MYISAM 文字セットutf8;
テーブル test_str_and_int を削除
DESC test_str_and_int
#-------------- ------------------------ ---------
test_str_and_int (str1,str2,test_int_1,test_int_2) の値に挿入
('testone','testone',1234567890,1234567890),
('あなたの名前','あなたの名前',1234567890,1234567890),
('あなたの名前をテスト','あなたの名前をテスト',6789 ,6789),
('あなたの名前をテスト','SQL ステートメントに何文字を挿入しても、データ フィールドの設計された長さに従って保持されます',19860502,19860503)
#---str1-------- -------------------- ----------------------
SELECT * FROM test_str_and_int
id str1 str2 int_1 int_2 1 tes testone 127 32767
2 your name あなたの名前 127 32767
3 tes testあなたの名前 127 6789
4 SQL ステートメントに何文字挿入されても、あなたの名前はデータ フィールド設計の長さに応じて保持されます 127 32767
#---概要--------str1 およびstr2 は文字列型で、長さはそれぞれ varchar(3)、varcvhar(30) になるように設計されています。データベースに挿入すると、それぞれ 3 文字列の長さが保持され、30 文字列の長さが保持されます。 SQL ステートメントでは、データ フィールドの設計された長さに応じて保持されます。長さは必要に応じて設計できます。一般に、文字列の長さは基本的に 20 または 32 で十分です
#- 同じことが int 型にも当てはまります
char と varchar の長さは、漢字 1 文字と 2 文字です。4 文字までの長さを 8 に設定すると、5 文字は絶対に入れられなくなります。なぜ int の長さが 1 なのかというと、0123456789 にも格納できます。この数字列は 0 から始まり、データベースが自動的に 0 と判断するためだと思います。長さを 1 に設定して、123456789 を保存してみます。