Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menyelesaikan masalah memulangkan medan teks panjang dalam MySql

Bagaimana untuk menyelesaikan masalah memulangkan medan teks panjang dalam MySql

WBOY
WBOYke hadapan
2023-05-31 22:49:231553semak imbas

Pemulangan medan teks panjang dalam MySql

Medan teks panjang digunakan dalam pembangunan terkini. Panjang maksimum medan ini dalam mysql ialah 4G

Seperti yang ditunjukkan dalam rajah di bawah

Bagaimana untuk menyelesaikan masalah memulangkan medan teks panjang dalam MySql

Bagaimana untuk menyelesaikan masalah memulangkan medan teks panjang dalam MySql

Satu yang ditemui semasa pembangunan Masalahnya ialah. Sebagai contoh, terdapat jadual artikel, dan kemudian halaman kami perlu memaparkan data ke hujung hadapan dalam bentuk senarai (hanya memaparkan beberapa medan, seperti pengarang, tajuk, dsb., contohnya, meletakkannya dalam jadual untuk memaparkan berbilang rekod), tetapi jadual Semua maklumat dalam rekod ditemui, dan kemudian apabila pengguna mengklik pada rekod, ia akan melompat ke halaman butiran dan memaparkan maklumat terperinci.

Ini akan menyebabkan masalah apabila jumlah data agak besar, atau apabila kandungan teks agak besar.

Apabila jumlah data dalam halaman meningkat, masa muat halaman akan menjadi lebih lama sehingga senarai data akhirnya dipaparkan. Ini akan menjejaskan kesan penggunaan secara serius.

Penyelesaian

Sudah tentu ia adalah masalah dengan pernyataan sql Apabila menanyakan keseluruhan senarai seperti di atas, anda boleh menanyakan medan lain dan bukannya medan teks panjang. Kemudian apabila pengguna mengklik pada sekeping data tertentu, dia akan pergi ke pangkalan data untuk menyemak sekeping data ini berdasarkan id sekeping data Pada masa ini, dia boleh menyemak teks panjang.

Bercakap mengenainya, saya ingin menyebut situasi lain, iaitu, kadangkala data yang diambil daripada pangkalan data dirangkumkan ke dalam kelas entiti, tetapi nilai medan tertentu tidak boleh diperolehi, iaitu nol. Pernyataan pertanyaan SQL mesti disemak untuk memastikan bahawa medan dalam hasil yang dikembalikan telah dipetakan dan dikapsulkan ke medan kelas yang sepadan.

Secara amnya, ini kerana medan tersebut tidak terkandung dalam set hasil.

Medan Julat Teks dalam Mysql

teks: menyimpan data bukan Unikod dengan panjang boleh ubah, dengan panjang maksimum 2^31-1 aksara.

Lajur teks tidak boleh mempunyai nilai lalai Tiada penukaran kes semasa penyimpanan atau mendapatkan semula Jika anda menentukan panjang kemudian, tiada ralat akan dilaporkan, tetapi panjang ini tidak akan berfungsi, yang bermaksud anda memasukkan data Apabila panjang melebihi panjang yang anda tentukan, ia masih boleh dimasukkan seperti biasa.

Dalam MySQL, panjang maksimum lajur jenis TEXT ialah 65,535 aksara (iaitu, 2 hingga kuasa ke-16 tolak 1).

Jika anda rasa panjang teks tidak mencukupi, anda boleh memilih

  • MEDIUMTEXTPanjang maksimum ialah 16,777,215.

  • LONGTEXTPanjang maksimum ialah 4,294,967,295

  • Text digunakan terutamanya untuk menyimpan teks bukan binari, seperti siaran forum, soalan, Atau soalan dan jawapan yang Baidu tahu.

Apa yang perlu dijelaskan ialah perbezaan antara text dan char varchar blob.

mysql Ubah suai panjang medan teks_panjang medan teks mysql? Masalah panjang medan teks yang tidak mencukupi dalam pangkalan data mysql…

jenis ialah rentetan panjang boleh ubah, sehingga 65535 aksara

boleh menukar jenis medan kepada MEDIUMTEXT (storan maksimum 16777215; aksara) atau LONGTEXT (sehingga 4294967295 aksara).

MySQL menyokong 4 jenis medan TEKS (TINYTEXT, TEXT, MEDIUMTEXT dan LONGTEXT) dan siaran ini melihat panjang maksimum setiap jenis medan ini.

Jadual MyISAM dalam MySQL mempunyai saiz maksimum baris sebanyak 65,535 bait, jadi semua data dalam satu baris mesti muat dalam had tersebut, bagaimanapun, jenis TEXT disimpan di luar jadual itu sendiri dan hanya menyumbang 9 kepada 12 bait ke arah had itu (Untuk maklumat lanjut tentang ini rujuk kepada Bab Keperluan Penyimpanan Data MySQL juga boleh menyimpan lebih banyak data daripada jenis teks VARCHAR dan CHAR jadi jenis TEKS adalah apa yang anda perlu gunakan). apabila menyimpan halaman web atau kandungan yang serupa dalam pangkalan data Jumlah maksimum data yang boleh disimpan dalam setiap jenis data adalah seperti berikut: TINYTEXT256 bait

TEXT65,535 bait~64kb

MEDIUMTEXT 16,777,215 bait~16MB

LONGTEXT4,294,967,295 bait~4GB

Dalam kebanyakan keadaan jenis TEXT mungkin mencukupi, tetapi jika anda mengekod sistem pengurusan kandungan, sebaiknya gunakan jenis MEDIUMTEXT lebih lama. halaman untuk memastikan tiada isu dengan had saiz data

Penjelasan utf8mb4 dalam manual MySQL rasmi ialah

UTf8 lalai versi pangkalan data sedia ada. ialah utf8mb3 Perhatikan "sama panjang" ". Jadi di bawah utf8mb4, bahasa Inggeris mengambil 1 bait, aksara Cina umum mengambil 3 bait dan emoji mengambil 4 bait.

Bagaimana untuk menyelesaikan masalah memulangkan medan teks panjang dalam MySql Berkenaan ralat pemasukan kod ke dalam jadual emoji, sila semak sama ada pengekodan jadual dan pengekodan sambungan pangkalan data adalah utf8mb4.

Kesimpulan: Kedua-dua pangkalan data dan jadual ditetapkan kepada utf8mb4.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah memulangkan medan teks panjang dalam MySql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam