Rumah  >  Artikel  >  pangkalan data  >  Mengapakah MySQL Workbench menjana ralat sintaks apabila menggunakan "KELIHATAN" dalam penyataan CREATE UNIQUE INDEX?

Mengapakah MySQL Workbench menjana ralat sintaks apabila menggunakan "KELIHATAN" dalam penyataan CREATE UNIQUE INDEX?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-16 18:55:03391semak imbas

Why does MySQL Workbench generate syntax errors when using

Ralat Sintaks MySQL Workbench: 'KELIHATAN' dalam CREATE UNIQUE INDEX Statement

MySQL Workbench 8.0.12 boleh menjana secara automatik CREATE UNIQUE INDEX statements yang termasuk 'VISIBLE' pilihan, yang tidak disokong dalam Pelayan MySQL 5.7. Ketidakserasian ini menyebabkan ralat sintaks.

Pernyataan Masalah

Ralat berlaku semasa mencipta indeks unik dengan VISIBLE dalam pernyataan CREATE UNIQUE INDEX. Contohnya:

CREATE UNIQUE INDEX `name_UNIQUE` ON `setting` (`code` ASC) VISIBLE;

MySQL Server 5.7 akan mengembalikan ralat berikut:

Error in query (1064): Syntax error near 'VISIBLE' at line 1

Punca

Perbezaan sintaks berpunca daripada versi MySQL yang berbeza. Dalam MySQL 8.0 dan lebih tinggi, sintaks CREATE UNIQUE INDEX termasuk pilihan 'KELIHATAN' atau 'GHAIB'. Walau bagaimanapun, dalam MySQL 5.7, pilihan ini tidak disokong.

Penyelesaian

Lumpuhkan Penjanaan Auto 'KELIHATAN' dalam Meja Kerja MySQL:

  1. Dalam MySQL Workbench, navigasi ke:

    • Edit > Pilihan > Pemodelan > MySQL
  2. Tetapkan "Versi MySQL Sasaran Lalai" kepada 5.7.

Ini menghalang MySQL Workbench daripada menjana 'KEDAMPAK' secara automatik dalam kenyataan CREATE UNIQUE INDEX .

Alternatif:

Jika menaik taraf kepada MySQL 8.0 tidak dapat dilakukan, alih keluar pilihan 'NAMPAK' daripada kenyataan CREATE UNIQUE INDEX secara manual.

Atas ialah kandungan terperinci Mengapakah MySQL Workbench menjana ralat sintaks apabila menggunakan "KELIHATAN" dalam penyataan CREATE UNIQUE INDEX?. 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