索引長度不能超過1024位元組

2021-10-05 21:39:14 字數 659 閱讀 3201

今天,給資料庫建立聯合索引後,插入資料報錯:索引記錄尺度不能超過1024位元組,

原因:是因為在定義欄位的時候,字段定義的長度不能過長,如何要在該字段上建立索引,應該符合索引的設計才行,

也就是,如果是

1:單列索引,則建立索引的字段的長度定義不能過長,不可以超過索引的限制長度,

2:聯合索引,則多個欄位的長度定義加在一起,不可以超過索引的限制長度。

舉例:

create table user (

name varchar(20),

address varchar(30)

)如果在 name 字段建立索引 則 varcahr(20)  這個 20 的長度不能長度不可以超過索引規則的長度,如果設定過大 比如設定成 varchar(10000)  這個太長了,在建立索引後,插入資料的時候會報錯,索引記錄尺度不能超過1024位元組(虛谷資料庫報這個錯,不同的資料庫應該索引長度不一樣)

如果是聯合索引,比如 給user表建索引  create index `name` (`name`, `address`) 則 name 的字段長度 加上 address 的字段長度 ,兩字段的和 不能超過索引的規則的長度限制,否則也會報錯:索引記錄尺度不能超過1024位元組(虛谷資料庫報這個錯,不同的資料庫應該索引長度不一樣)

Oracle使用IN時不能超過1000的問題

oracle使用in時不能超過1000的問題 ora 01795 列表中的最大表示式數為 1000 當我們使用orcale的in語法時,如果in 裡面的內容元素個數超過1000個就會報 ora 01795的錯誤。最笨重的方法,就是每當達到999的倍數加一就開始用or in select id sel...

利用 上傳不能超過 的檔案

125 是否為附件上傳 126 判斷的根據是contenttype中有無multipart form data 127 128 129 6 2 aspx 1 3 aspx.cs 1 protected void button1 click object sender,eventargs e 2 4....

service的啟動不能超過10s。

在android啟動的時候,我們開啟乙個service,結果在啟動過程中報錯。出現了如下的異常資訊。然後,我們將啟動的執行 放到thread執行,就解決了問題。08 08 09 22 17.820 e activitymanager 2099 anr in com.ztao.printer.serv...