我的mysql中的型別是varchar啊,但是還是插入不了字母,只能是數字,為什麼

時間 2021-10-14 22:23:54

1樓:匿名使用者

不可能 只會是你語法錯誤 你可以複製給我看看你的語句

最簡單的:insert 表名 (欄位名,欄位名)values("中文","英文"); 你什麼忘了加引號 因為數字型不用加引號也能插入

2樓:匿名使用者

應該是你忘記加引號了

這裡舉個例子,假設你的字符集沒設定錯,你現在要向**鍵入這樣一行資料:

(01,woicxk,及你太沒)

這裡的命令除了要在前面加上 || insert into 表名 value ||外,括號裡的非數字字元還應該加引號。

正確格式:insert into cxknp value(01,'woicxk','及你太沒');

3樓:匿名使用者

不知道你是不是這個情況,之前設定的是int型別,後來改為varchar型別,只能輸入數字。

解決:將欄位名修改下(比如:id改為idg),然後儲存,再輸入就可以了,然後再恢復(idg改為id)即可;

把欄位刪除重建。

4樓:feichang小雨

設定為:varchar(30)

另外看看是不是編碼的問題,比如:gb2312和utf-8

mysql資料庫中定義成varchar型別,如何解決存入的中文字元不能正常顯示問題?

5樓:拖著屍體啊

最好保持資料庫編碼和你的程式檔案編碼一致

比如通常都是:資料庫編碼utf8_general_ci 然後php程式檔案編碼也是utf8,html也是utf8

6樓:匿名使用者

檢視你的資料庫這個欄位字符集是不是utf8,如不是請修改

7樓:匿名使用者

utf8_general_ci 這個型別就可以了

mysql中的設定varchar長度問題...

8樓:匿名使用者

mysql varchar(50) 不管中文 還是英文 都是存50個的

mysql5的文件,其中對varchar欄位型別這樣描述:varchar(m) 變長字串。m 表示最大列長度。

m的範圍是0到65,535。(varchar的最大實際長度由最長的行的大小和使用的字符集確定,最大有效長度是65,532位元組)。

為何會這般變換?真是感覺mysql的手冊做的太不友好了,因為你要仔細的繼續往下讀才會發現這段描述:mysql 5.

1遵從標準sql規範,並且不刪除varchar值的尾部空格。varchar儲存時用一個位元組或兩個位元組長的字首+資料。如果varchar列宣告的長度大於255,長度字首是兩個位元組。

好了,貌似懂了一點。但具體他說的長度大於255時使用2個位元組長度字首,小學減法題:65535 - 2 = 65533啊。不知道這些大牛如何計算的,暫且保留疑問吧?

注:我測試了一下使用utf8編碼,varchar的最大長度為21854位元組。

在mysql 5.0.45版本,資料庫編碼utf8下進行測試:varchar最長定義為21785。也就是說不論字母、數字、漢字,只能放21785個。

推想:varchar位元組最大65535,utf8編碼一個字元3個位元組65535/3=21785。

9樓:

25個漢字

數字是50個

英文也是50個

這個型別你可以定義大點都無所謂

Mysql5 1中,datetime型別的欄位為什麼插入不了NULL值

datetime是struct,值型別,值型別是不能為null的.只有datetime的泛型表達datetime?型別可以賦值為null,但這只是一種簡寫,datetime?的實際型別為nullable.所有值型別都可以轉換為這種形式來賦值為null.mysql5.1中,datetime型別的欄位為...

MySQL中的float和decimal型別有什麼區別

維灣教育培訓 decimal 型別可以精確地表示非常大或非常精確的小數。大至 1028 正或負 以及有效位數多達 28 位的數字可以作為 decimal型別儲存而不失其精確性。該型別對於必須避免舍入錯誤的應用程式 如記賬 很有用。float是浮點數,不能指定小數位。decimal是精確數,可以指定精...

MySQL中myisam和innodb的主鍵索引有什麼區別

innodb 被稱為索引組織型的儲存引擎。主鍵使用的 b tree 來儲存資料,即錶行。這意味著 innodb 必須使用主鍵。如果表沒有主鍵,innodb 會向表中新增一個隱藏的自動遞增的 6 位元組計數器,並使用該隱藏計數器作為主鍵。innodb 的隱藏主鍵存在一些問題。您應該始終在表上定義顯式主...