mysql 出現(xiàn)1071錯誤的解決辦法:該問題是由鍵值字段長度過長導致,mysql支持數(shù)據(jù)庫表單一鍵值的長度不能超過767字節(jié),如果把長度改為255則沒有問題,或者不使用utf-8格式也沒有問題。
創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領(lǐng)域包括:做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的米脂網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
mysql 出現(xiàn)1071錯誤的解決辦法:
該問題是由鍵值字段長度過長導致。mysql支持數(shù)據(jù)庫表單一鍵值的長度不能超過767字節(jié),超出這個長度即報錯(見標題名稱)。一般情況下,不會有鍵值字段的長度會超出該長度。但是需要注意的是,隨著全球化進程的加快,數(shù)據(jù)庫表采用UTF-8格式的趨勢是越來越明顯,這導致varchar類型字段的長度成倍增長,一不小心就容易出現(xiàn)以上問題。
假設(shè)存在以下表定義:
create table test ( name varchar(256) not null primary key, age int unsigned not null ) engine = InnoDB;
當使用UTF-8格式建立該表時,就會出現(xiàn)如標題所示問題。關(guān)鍵原因是UTF-8使用變長編碼,最多可能使用3個字節(jié)表示表示1個符號。所以對于上述表中的name字段,其實際長度超出767字節(jié),達到了768字節(jié),問題出現(xiàn)。如果把長度改為255(767/3)則沒有問題,或者不使用utf-8格式也沒有問題。
相關(guān)學習推薦:mysql教程