Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mengganti nama Indeks di MySQL

Saya menjawab pertanyaan ini pada tahun 2009. Saat itu tidak ada sintaks di MySQL untuk mengganti nama indeks.

Sejak itu, MySQL 5.7 memperkenalkan ALTER TABLE RENAME INDEX sintaksis.

http://dev.mysql.com/doc/refman /5.7/en/alter-table.html mengatakan sebagian:

Versi MySQL sebelumnya, mis. 5.6 dan sebelumnya, tidak mendukung sintaks di ALTER TABLE untuk mengganti nama indeks (atau kunci, yang merupakan sinonim).

Satu-satunya solusi adalah ALTER TABLE DROP KEY oldkeyname, ADD KEY newkeyname (...) .

Tidak ada ALTER INDEX perintah di MySQL. Anda hanya dapat DROP INDEX lalu CREATE INDEX dengan nama baru.

Mengenai pembaruan Anda di atas:mungkin dokumentasinya tidak cukup tepat. Terlepas dari itu, tidak ada sintaks SQL untuk mengganti nama indeks.

Indeks adalah struktur data yang dapat dibangun kembali dari data (sebenarnya dianjurkan untuk membangun kembali indeks secara berkala dengan OPTIMIZE TABLE ). Dibutuhkan beberapa waktu, tetapi ini adalah operasi yang biasa. Struktur data indeks terpisah dari data tabel, jadi menambahkan atau menghapus indeks tidak perlu menyentuh data tabel, seperti yang tertulis dalam dokumentasi.

Mengenai .frm file, MySQL tidak mendukung pengeditan .frm mengajukan. Saya tidak akan melakukannya untuk alasan apapun. Anda dijamin 100% merusak tabel Anda dan membuatnya tidak dapat digunakan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. varchar Kenaikan Otomatis di MySQL

  2. MySQL - Penghitung dalam grup

  3. Bagaimana cara memperbarui mysql dengan python di mana bidang dan entri berasal dari kamus?

  4. Bagaimana cara menjadwalkan kueri MySQL?

  5. Pagination untuk menunjukkan nilai maksimal dan membatasi sisanya