MySQL Cara Mendua Jadual – Petua Pantas

WBOY
Lepaskan: 2024-08-21 21:03:15
asal
1052 orang telah melayarinya

Baru-baru ini saya terpaksa berurusan dengan beberapa batasan penyedia pangkalan data saya yang tidak menyokong penamaan semula jadual. Jadi saya terpaksa menduplikasi jadual secara manual.

Pangkalan data platform SaaS saya dihoskan pada Planetscale. Syarikat itu menyediakan pangkalan data tanpa pelayan yang serasi dengan MySQL. Terima kasih kepada sifat tanpa pelayannya, anda boleh mendapatkan kuasa sharding mendatar, perubahan skema tanpa sekatan, dan banyak lagi ciri pangkalan data yang berkuasa tanpa perlu bersusah payah melaksanakannya. Dan pengalaman pembangun yang hebat.

Dari perspektif lain, anda perlu menangani beberapa kekangan mengenai perubahan skema. Had ini diperlukan untuk menjamin konsistensi dalam persekitaran yang berpecah-belah.

Mereka membuat banyak kemajuan sejak saya menjadi pelanggan (hampir dua tahun lalu), seperti sokongan untuk kekangan Foreign Key: https://planetscale.com/docs/concepts/foreign-key-constraints

Namakan semula jadual

Inspektor ialah aplikasi Laravel. Menggunakan migrasi Laravel saya boleh menggunakan fungsi nama semula untuk menukar nama jadual:

Schema::rename('from', 'to');
Salin selepas log masuk

Planetscale tidak menyokong penamaan semula jadual secara asli. Jadi saya terpaksa mencari penyelesaian untuk menyelesaikan tugas itu.

Sejujurnya, menamakan semula jadual adalah operasi yang agak jarang berlaku. Bagi saya ia adalah kerana pertindihan nama antara entiti "Projek" dan "Aplikasi". Saya terpaksa menamakan semula Projek -> Aplikasi.

Bagaimana untuk menduplikasi jadual dalam MySQL

Terdapat dua cara untuk menduplikasi jadual dalam MySQL.

Gandakan struktur jadual

Anda boleh menduplikasi hanya struktur jadual (lajur, kunci, indeks, dll) tanpa data, menggunakan CREATE TABLE … SEPERTI:

CREATE TABLE applications LIKE projects;
Salin selepas log masuk

Hasilnya ialah penciptaan jadual aplikasi dengan struktur yang sama persis dengan jadual projek asal, tetapi TANPA data.

Untuk mengimport data juga anda boleh menjalankan pernyataan kedua sebagai INSERT INTO … PILIH:

INSERT INTO applications SELECT * FROM projects;
Salin selepas log masuk

Berhati-hati menjalankan penyata ini di atas meja besar kerana ia boleh mengambil banyak masa dan sumber pelayan.

Takrif lajur pendua sahaja

Pilihan kedua ialah untuk menduplikasi definisi lajur sahaja dan mengimport data dalam satu pernyataan menggunakan CREATE JADUAL … SEBAGAI PILIH:

CREATE TABLE applications AS SELECT * FROM projects;
Salin selepas log masuk

Jadual aplikasi baharu hanya mewarisi takrifan lajur asas daripada jadual projek. Ia tidak menduplikasi kekangan, indeks dan takrifan auto_kenaikan Kunci Asing.

Pilihan ini mungkin berguna apabila anda mempunyai nama indeks dan kunci yang berkaitan dengan nama jadual. Menukar nama jadual anda perlu menggantikan nama kekangan. Anda lebih baik tidak mengimportnya sama sekali dan melakukannya sekali lagi.

Sumber

Pangkalan data sentiasa menjadi topik hangat untuk pembangun di mana-mana peringkat. Anda boleh mencari sumber teknikal lain di blog. Berikut ialah artikel paling popular mengenai topik:

  • Diselesaikan - Pelanggaran kekangan integriti
  • Jimatkan 1 juta pertanyaan dengan Laravel yang tidak sabar-sabar memuatkan
  • Cara menskala pangkalan data SQL
  • Diselesaikan – tamat masa menunggu kunci MySQL melebihi menggunakan baris gilir dan kerja Laravel

Baru Kepada Inspektor? Pantau aplikasi anda secara percuma

Inspektor ialah alat Pemantauan Pelaksanaan Kod yang direka khusus untuk pembangun perisian. Anda tidak perlu memasang apa-apa di peringkat pelayan, cuma pasang pakej komposer dan anda sudah bersedia untuk pergi.

Tidak seperti platform lain yang kompleks, semua-dalam-satu, Inspektor sangat mudah dan mesra PHP. Anda boleh mencuba pakej Laravel atau Symfony kami.

Jika anda mencari automasi yang berkesan, cerapan mendalam dan keupayaan untuk memajukan makluman dan pemberitahuan ke dalam persekitaran pemesejan anda cuba Inspektor secara percuma. Daftar akaun anda.

Atau ketahui lebih lanjut di tapak web: https://inspector.dev

MySQL How To Duplicate A Table – Fast Tips

Atas ialah kandungan terperinci MySQL Cara Mendua Jadual – Petua Pantas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan