Sebab mengapa MySQL hanya boleh menulis satu baris semasa membuat jadual termasuk: 1. had pembolehubah max_allowed_packet; 3. Had pemacu JDBC; Anda boleh menyelesaikan isu ini dengan meningkatkan nilai pembolehubah max_allowed_packet, melumpuhkan mod selamat, menggunakan pemacu JDBC yang lebih baharu, menggunakan sintaks pertanyaan yang lebih mudah atau meningkatkan nilai pembolehubah innodb_log_file_size.
Sebab MySQL hanya boleh menulis satu baris semasa mencipta jadual
Dalam MySQL, sintaks untuk mencipta jadual biasanya seperti berikut:
<code>CREATE TABLE table_name (
column1 data_type,
column2 data_type,
...
columnn data_type
);</code>
Salin selepas log masuk
Jika kenyataan create table hanya boleh menulis satu baris , mungkin terdapat sebab berikut:
Konfigurasi baris arahan MySQL
-
pembolehubah paket_maks_allowed : Pembolehubah ini mengehadkan bilangan bait maksimum yang MySQL boleh kendalikan untuk satu pertanyaan. Jika pertanyaan melebihi had ini, MySQL akan menolak untuk melaksanakannya.
-
Safe Mode: Mod selamat MySQL mengehadkan panjang pertanyaan untuk mengelakkan pertanyaan berniat jahat.
Penghadan Aplikasi
-
JDBC Drivers: Sesetengah pemandu JDBC mengehadkan panjang pernyataan pertanyaan.
-
Rangka Kerja ORM: Rangka kerja pemetaan hubungan objek (ORM) mungkin menggunakan sintaks tersuai atau menjana pertanyaan secara automatik, yang mungkin mempunyai had panjang.
Tetapan Pangkalan Data
-
innodb_log_file_size variable: Pembolehubah ini mengehadkan saiz fail log semula InnoDB tunggal. Jika kenyataan CREATE TABLE akan menghasilkan log buat semula yang melebihi had ini, MySQL akan menolak untuk melaksanakannya.
Penyelesaian
Untuk menyelesaikan masalah ini, anda boleh mencuba kaedah berikut:
-
Tingkatkan nilai pembolehubah max_allowed_packet: Tingkatkan nilai dengan mengubah suai perkhidmatan konfigurasi MySQL dan mulakan semula
-
Lumpuhkan mod selamat: Lumpuhkan pilihan mod selamat dalam fail konfigurasi MySQL.
-
Gunakan pemacu JDBC yang lebih baharu: Naik taraf kepada versi pemacu yang lebih baharu yang selalunya menyokong pertanyaan yang lebih panjang.
-
Gunakan sintaks pertanyaan yang lebih ringkas: Elakkan daripada menggunakan pertanyaan bersarang atau pertanyaan jadual gabungan kompleks, yang mungkin menjana pernyataan yang lebih panjang.
-
Tingkatkan nilai innodb_log_file_size variable: Tingkatkan nilai dengan mengubah suai fail konfigurasi MySQL dan memulakan semula perkhidmatan MySQL.
Atas ialah kandungan terperinci Mengapa mysql tidak boleh menulis satu baris sahaja semasa membuat jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!