最近開發中用到了longtext這種欄位。在mysql中該欄位的最大長度為4G
開發中遇到的一個問題就是。例如有一個article表,然後我們的頁面要將資料以列表的形式展示到前端(只顯示幾個字段,如作者,標題等等,例如放到table中顯示多條記錄),但是是將該表中的所有資訊都查出來,然後當使用者點擊某筆記錄的時候,會跳到詳情頁,在顯示詳細的資訊。
這樣當資料量比較多的時候,或是文字的內容比較大的時候,就出現問題了。
隨著頁面中的資料量增加,頁面載入時間就會變長,直到最終顯示資料清單。這會嚴重影響使用效果。
當然是sql語句的問題了,當像上面這樣查詢整個列表的時候,可以不查詢longtext這個字段,將其他的字段查詢出來。然後當使用者點擊某條數據時,再根據該條數據的id到資料庫去單查這條數據,這時再將longtext查出來即可。
說到這裡,還要說一種情況,就是有時候從資料庫中查到的資料封裝到實體類別中,怎麼也取不到某個欄位的值,就是null。必須檢查SQL查詢語句,確保傳回結果中該欄位已經被對應封裝到對應的類別欄位上。
一般情況下都是結果集中沒有封裝該欄位的原因。
text:儲存可變長度的非Unicode數據,最大長度為2^31-1個字元。
text列不能有預設值,儲存或檢索過程中,不存在大小寫轉換,後面如果指定長度,不會報錯誤,但是這個長度是不起作用的,意思就是你插入資料的時候,超過你指定的長度還是可以正常插入。
在 MySQL 中,欄位類型為 TEXT 的最大長度為 65,535 個字元(即 2 的 16 次方減 1)。
如果你覺得text長度不夠,可以選擇
#MEDIUMTEXT
最大長度為16,777,215。
LONGTEXT
最大長度為4,294,967,295
Text
#主要是用來存放非二元的文本,如論壇貼文,題目,或百度知道的問題和回答之類。
要弄清楚的是text 和 char varchar blob這幾種類型的差別。
mysql 修改 text欄位長度_mysql的text欄位長度? mysql資料庫中text欄位長度不夠的問題…
類型是可變長度的字串,最多65535個字元;
可以把欄位類型改成MEDIUMTEXT(最多存放16777215個字元)或LONGTEXT(最多存放4294967295個字元).
MySQL supports 4 TEXT field types (TINYTEXT, TEXT, MEDIUMTEXT and LONGTEXT) and this post looks the maximage of at the maximth the maximth the maximage of at the maximth the maximth the maximage of the maxim》。 field types.
MyISAM tables in MySQL have a maximum size of a row of 65,535 bytes, so all the data in a row must fit within that limit. However, the TEXT types are stored outside table tablely contribute 9 to 12 bytes towards that limit. (For more information about this refer to the MySQL Manual - Data Storage Requirements chapter). TEXT data types are also able to store much more data than VARCHAR and CHAR text types so able to store much more data than VARCHAR and CHAR text types soo TEare syou TEare need to use when storing web page or similar content in a database. The maximum amount of data that can be stored in each data type is as follows: TINYTEXT256 bytes
XTXT65,535 bytes65,535 bytes#65,##TEXT65,535 bytes~ #MEDIUMTEXT 16,777,215 bytes~16MB
LONGTEXT4,294,967,295 bytes~4GB
#In most circumstances the TEXT type is prostly sufficient, but system you type is proest sufficient, but system you type is proest sufficient, butcoif you type is proest sufficient, but system you type is pro片 sufficient, butd you type is proestd babicient, but system youb the MEDIUMTEXT type for longer pages to ensure there are no issues with data size limits.
漢字在utf8mb4中佔用幾個字元
###################### ###MySQL官方手冊中對於utf8mb4的解釋是###################現有資料庫版本預設的utf8都為utf8mb3,注意其中所說的"相同的長度"。 ######所以在utf8mb4下,英文佔1個字節,一般漢字佔3個字節,emoji表情佔4個位元組。 #########關於代碼插入emoji表情報錯,請檢查 表格編碼 和 資料庫連接 編碼是否同時為utf8mb4。 #########結論:資料庫和表格都設定為utf8mb4。 ###
以上是MySql中的longtext欄位的回傳問題如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!