Secara umum, ini bukan pertanyaan yang memiliki jawaban "benar". Tidak ada jenis penyimpanan teks "panjang tak terbatas" di MySQL. Anda dapat menggunakan LONGTEXT
, tetapi itu masih memiliki batas atas (sangat tinggi). Namun jika Anda melakukannya, Anda menendang DBMS Anda dengan gigih karena harus berurusan dengan gumpalan kolom yang tidak masuk akal untuk teks 50 karakter Anda. Belum lagi fakta bahwa Anda hampir tidak melakukan apa-apa dengannya.
Jadi, sebagian besar futureproofness(TM) mungkin ditawarkan oleh LONGTEXT
. Tapi itu juga metode yang sangat buruk untuk menyelesaikan masalah. Sejujurnya, saya akan meninjau kembali persyaratan aplikasi. Menyimpan string yang tidak memiliki "domain" (seperti dalam, yang didefinisikan dengan baik dalam aplikasinya) dan panjang arbitrer bukanlah salah satu kekuatan RDBMS.
Jika saya ingin menyelesaikan ini pada level "desain aplikasi", saya akan menggunakan penyimpanan nilai kunci NoSQL untuk ini (dan saya anti-NoSQL-hype seperti yang mereka dapatkan, jadi Anda tahu ini serius), bahkan meskipun saya menyadari itu adalah perubahan yang agak mahal untuk perubahan kecil seperti itu. Tetapi jika ini merupakan indikasi dari apa yang pada akhirnya akan dimiliki DBMS Anda, mungkin lebih bijaksana untuk beralih sekarang untuk menghindari masalah yang sama ini ratusan kali di masa depan. Domain data sangat penting dalam RDBMS, sedangkan domain data secara eksplisit dikesampingkan dalam solusi non-relasional, yang tampaknya menjadi apa yang Anda coba selesaikan di sini.
Terjebak dengan MySQL? Tingkatkan saja menjadi VARCHAR(1000)
. Jika Anda tidak memiliki persyaratan untuk data Anda, apa pun yang Anda lakukan tetap tidak relevan.