Rumah >pangkalan data >tutorial mysql >Mengapakah Penciptaan Jadual MyISAM Gagal dengan TYPE=MYISAM dalam MySQL 5.5 ?

Mengapakah Penciptaan Jadual MyISAM Gagal dengan TYPE=MYISAM dalam MySQL 5.5 ?

Barbara Streisand
Barbara Streisandasal
2024-12-12 22:49:14824semak imbas

Why is MyISAM Table Creation Failing with TYPE=MYISAM in MySQL 5.5 ?

Tidak Dapat Mencipta Jadual dengan TYPE=MYISAM

Apabila cuba mencipta jadual menggunakan sintaks TYPE lama, seperti:

CREATE TABLE dave_bannedwords(

id INT( 11 ) NOT NULL AUTO_INCREMENT ,
word VARCHAR( 60 ) NOT NULL DEFAULT  '',
PRIMARY KEY ( id ) ,
KEY id( id )
) TYPE = MYISAM ;

Anda mungkin menghadapi ralat seperti:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use
near 'TYPE=MyISAM' at line 6

Penyelesaian

Seperti yang dinyatakan dalam dokumentasi MySQL untuk CREATE TABLE Sintaks:

"Pilihan TYPE yang lebih lama adalah sinonim dengan ENGINE .TYPE telah ditamatkan dalam MySQL 4.0 dan dialih keluar dalam MySQL 5.5 apabila menaik taraf kepada MySQL 5.5 atau lebih baru, anda mesti menukar aplikasi sedia ada yang bergantung pada TYPE untuk menggunakan ENGINE sebaliknya."

Oleh itu, gantikan TYPE dengan ENGINE untuk mencipta jadual dengan jayanya:

CREATE TABLE dave_bannedwords(
  id   INT(11)     NOT NULL AUTO_INCREMENT,
  word VARCHAR(60) NOT NULL DEFAULT '',
  PRIMARY KEY (id),
  KEY id(id) -- this is superfluous in the presence of your PK, ergo unnecessary
) ENGINE = MyISAM ;

Atas ialah kandungan terperinci Mengapakah Penciptaan Jadual MyISAM Gagal dengan TYPE=MYISAM dalam MySQL 5.5 ?. 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