Rumah > Artikel > pangkalan data > Tidak dapat mencipta 'table_name' (errno: 139) - Cara menyelesaikan ralat MySQL: Tidak dapat mencipta jadual, nombor ralat: 139
Tidak boleh membuat jadual 'nama_jadual' (errno: 139) - Cara menyelesaikan ralat MySQL: Tidak dapat mencipta jadual, nombor ralat: 139, contoh kod khusus diperlukan
Apabila membangunkan pangkalan data, kita sering menghadapi mencipta jadual keperluan. Walau bagaimanapun, kadangkala anda mungkin menghadapi ralat semasa membuat jadual dalam MySQL, salah satunya ialah ralat nombor 139. Artikel ini menerangkan cara menyelesaikan masalah ini dan menyediakan contoh kod khusus.
Pertama, mari kita fahami maksud ralat ini. Apabila MySQL gagal mencipta jadual, ia mengembalikan nombor ralat, di mana 139 bermaksud "Medan dalam definisi jadual mempunyai panjang atau ketepatan yang tidak sah." Dalam erti kata lain, panjang atau bilangan digit selepas titik perpuluhan medan dalam jadual yang anda buat tidak memenuhi keperluan.
Jadi bagaimana untuk menyelesaikan masalah ini? Berikut ialah beberapa penyelesaian:
Semak jenis medan dan panjang dalam definisi jadual
Mula-mula, anda perlu menyemak jenis medan dan panjang yang anda tentukan semasa mencipta jadual. Sebagai contoh, jika anda mencipta jadual bernama "table_name" dan menentukan medan jenis rentetan dengan panjang 10 semasa menentukan medan, anda perlu mengesahkan bahawa panjang medan anda adalah betul. Pastikan panjang medan anda tidak melebihi had untuk jenis medan yang sepadan.
Berikut ialah contoh kod:
CREATE TABLE `table_name` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(10), PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Menyemak ketepatan medan
Satu lagi kemungkinan punca ralat 139 ialah ketepatan medan tidak betul. Jika anda mentakrifkan medan jenis PERPULUHAN apabila anda mencipta jadual dan nyatakan bilangan digit selepas titik perpuluhan (contohnya, PERPULUHAN(10, 2)), pastikan nilai sebenar medan anda tidak mempunyai lebih banyak digit selepas titik perpuluhan daripada yang anda takrifkan dalam jadual bilangan digit yang dinyatakan dalam .
Berikut ialah contoh kod:
CREATE TABLE `table_name` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `price` DECIMAL(10, 2), PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Akhir sekali, jika anda menghadapi masalah yang tidak dapat diselesaikan, anda boleh menyemak dokumentasi rasmi MySQL atau meminta bantuan komuniti MySQL. Ada kemungkinan mereka mempunyai penjelasan dan penyelesaian yang lebih mendalam untuk masalah ini.
Untuk meringkaskan, apabila anda menghadapi ralat nombor 139 semasa membuat jadual dalam MySQL, anda perlu menyemak dengan teliti jenis medan, panjang dan ketepatan dalam definisi jadual untuk memastikan ia mematuhi spesifikasi. Jika masalah berterusan, anda boleh mempertimbangkan untuk menyemak sama ada versi MySQL yang anda gunakan menyokong jenis medan dan panjang yang anda tetapkan. Saya harap artikel ini dapat membantu anda menyelesaikan ralat MySQL 139 dan menyediakan contoh kod yang berkaitan.
Atas ialah kandungan terperinci Tidak dapat mencipta 'table_name' (errno: 139) - Cara menyelesaikan ralat MySQL: Tidak dapat mencipta jadual, nombor ralat: 139. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!