mysql 出現1071錯誤怎麼辦

coldplay.xixi
發布: 2020-08-24 14:57:08
原創
5093 人瀏覽過

mysql 出現1071錯誤的解決方法:這個問題是由鍵值字段長度過長導致,mysql支持資料庫表單一鍵值的最大長度不能超過767字節,如果把長度改為255則沒有問題,或不使用utf-8格式也沒問題。

mysql 出現1071錯誤怎麼辦

mysql 出現1071錯誤的解決方法:

 問題是由鍵值欄位長度過長導致。 mysql支援資料庫表單一鍵值的最大長度不能超過767字節,超出這個長度即報錯(請參閱標題名稱)。一般情況下,不會有鍵值欄位的長度會超出該長度。但要注意的是,隨著全球化進程的加快,資料庫表採用UTF-8格式的趨勢是越來越明顯,這導致varchar類型欄位的長度成倍增長,一不小心就容易出現以上問題。

        假設有下列表格定義:

        create table test (
                name varchar(256) not null primary key,
                age int unsigned not null
        ) engine = InnoDB;
登入後複製

        當使用UTF-8格式建立此表格時,如標題所示問題就會出現。關鍵原因是UTF-8使用變長編碼,最多可能使用3個位元組表示表示1個符號。所以對於上述表中的name字段,其實際長度超出767字節,達到了768字節,問題出現。如果把長度改為255(767/3)則沒有問題,或不使用utf-8格式也沒有問題。

相關學習推薦:mysql教學

以上是mysql 出現1071錯誤怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!