Mesej ralat "Syntax error near 'VISIBLE' pada baris 1" berlaku apabila menggunakan MySQL Workbench penyata CREATE UNIQUE INDEX yang dijana secara automatik. Isu ini berpunca daripada perbezaan sintaks antara versi pelayan MySQL.
Punca:
MySQL Workbench 8.0.12 menjana secara automatik kenyataan CREATE UNIQUE INDEX dengan pilihan VISIBLE , yang serasi dengan pelayan MySQL versi 8.0. Walau bagaimanapun, jika anda menggunakan versi MySQL yang lebih awal (seperti 5.7), pilihan ini tidak dikenali, membawa kepada ralat sintaks.
Perbezaan Sintaks:
Dalam pelayan MySQL versi 8.0, sintaks untuk CREATE INDEX termasuk pilihan indeks VISIBLE:
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name [index_type] ON tbl_name (key_part,...) [index_option] [algorithm_option | lock_option] ... index_option: KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE}
Dalam pelayan MySQL versi 5.7, pilihan VISIBLE ini tidak tersedia:
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name [index_type] ON tbl_name (key_part,...) [index_option] [algorithm_option | lock_option] ... index_option: KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string'
Penyelesaian:
Untuk menyelesaikan isu ini, anda mempunyai dua pilihan:
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Sintaks dengan 'KELIHATAN' dalam CIPTA Penyata INDEKS UNIK?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!