Rumah >pangkalan data >tutorial mysql >Mengapa Lajur TEXT MySQL Tidak Boleh Mempunyai Nilai Lalai?

Mengapa Lajur TEXT MySQL Tidak Boleh Mempunyai Nilai Lalai?

Linda Hamilton
Linda Hamiltonasal
2024-11-29 15:36:14213semak imbas

Why Can't MySQL TEXT Columns Have Default Values?

Mengapa Lajur Teks MySQL Tidak Boleh Mempunyai Nilai Lalai

Soalan: Mengapa lajur teks dalam MySQL tidak membenarkan lalai nilai?

Jawapan:

Walaupun dokumentasi MySQL tidak memberikan penjelasan yang jelas, sekatan ini dikaitkan dengan ketidakkonsistenan antara Windows dan versi MySQL yang lain.

Gelagat Windows:

Pada Windows, versi MySQL 5 menimbulkan ralat apabila cuba mencipta lajur TEXT dengan nilai lalai.

Linux dan Versi Lain:

Pada Linux dan sistem pengendalian lain, MySQL hanya menimbulkan amaran. Walau bagaimanapun, tingkah laku ini tidak konsisten dan boleh menyebabkan masalah apabila mengalihkan skrip pangkalan data antara platform yang berbeza.

Laporan Pepijat:

Ketidakkonsistenan ini telah dilaporkan sebagai pepijat #19498 dalam Penjejak Pepijat MySQL. Isu itu diakui tetapi tidak diselesaikan, disebabkan kemungkinan isu keserasian.

Penyelesaian:

Untuk melumpuhkan mod ketat yang menghalang nilai lalai dalam lajur teks pada Windows, ikuti langkah ini:

  1. Edit fail "/my.ini" dan cari baris "sql-mode".
  2. Ganti nilai semasa dengan "sql_mode='MYSQL40'".
  3. Mulakan semula perkhidmatan MySQL (mysql5).

Sebagai alternatif , anda boleh melaksanakan pertanyaan SQL berikut (dengan mengandaikan root/admin akses):

mysql_query("SET @@global.sql_mode='MYSQL40'");

Ini akan membolehkan anda membuat lajur teks dengan nilai lalai pada Windows MySQL sambil mengekalkan keserasian dengan versi lain.

Atas ialah kandungan terperinci Mengapa Lajur TEXT MySQL Tidak Boleh Mempunyai Nilai Lalai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn