Kunci Asing Komposit dalam SQL
Reka bentuk pangkalan data selalunya melibatkan penciptaan perhubungan antara jadual. Apabila kunci utama satu jadual terdiri daripada berbilang lajur, ia menjadi mencabar untuk memautkannya kepada kunci asing dalam jadual lain. Soalan ini meneroka cara mewujudkan hubungan antara dua jadual dengan kunci primer komposit dan kunci asing.
Pernyataan Masalah
Pertimbangkan dua jadual berikut:
CREATE TABLE IF NOT EXISTS `tutorial` ( `beggingTime` time NOT NULL, `day` varchar(8) NOT NULL, `tutorId` int(3) NOT NULL, `maxMembers` int(2) NOT NULL, `minMembers` int(1) NOT NULL, PRIMARY KEY (`beggingTime`,`day`,`tutorId`), KEY `tutorId` (`tutorId`) ); CREATE TABLE IF NOT EXISTS `group` ( `groupId` tinyint(3) NOT NULL AUTO_INCREMENT, `status` varchar(20) NOT NULL, `groupName` varchar(50) NOT NULL, PRIMARY KEY (`groupId`) );
Objektifnya adalah untuk mencipta medan dalam jadual kumpulan yang memaut ke kunci utama komposit dalam jadual tutorial. Timbul persoalan: bagaimanakah kita boleh mengaitkan jadual ini dengan berkesan?
Penyelesaian
Menurut dokumentasi MySQL, adalah mungkin untuk menyediakan pemetaan kunci asing kepada kunci komposit. Ini memerlukan mencipta berbilang lajur dalam jadual kunci asing:
ALTER TABLE `group` ADD COLUMN `beggingTime` time NOT NULL; ALTER TABLE `group` ADD COLUMN `day` varchar(8) NOT NULL; ALTER TABLE `group` ADD COLUMN `tutorId` int(3) NOT NULL; ALTER TABLE `group` ADD FOREIGN KEY (`beggingTime`,`day`,`tutorId`) REFERENCES tutorial(`beggingTime`,`day`,`tutorId`);
Pendekatan ini mencipta lajur tambahan dalam jadual kumpulan yang sepadan dengan komponen kunci utama komposit dalam jadual tutorial.
Pengesyoran
Walaupun mencipta kunci asing komposit adalah mungkin, ia bukan selalunya merupakan pilihan reka bentuk yang terbaik. Seperti yang dicadangkan oleh respons lain, adalah disyorkan untuk mempertimbangkan semula reka bentuk jadual dan menggunakan kunci utama satu lajur untuk jadual tutorial. Ini akan meningkatkan prestasi pangkalan data dan memudahkan pengurusan perhubungan.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Kunci Asing Komposit dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

MySqlblobShavelimits: TinyBlob (255bytes), Blob (65,535bytes), MediumBlob (16,777,215bytes), andlongblob (4,294,967,295bytes) Obsefectively: 1) PertimbangkanPerformanceImpactsandstorelargeblobsexternally; 2) ManageBackupSandReplicationCarefly; 3) UsePathsinst

Alat dan teknologi terbaik untuk mengautomasikan penciptaan pengguna di MySQL termasuk: 1. MySqlworkbench, sesuai untuk persekitaran kecil dan sederhana, mudah digunakan tetapi penggunaan sumber yang tinggi; 2. Ansible, sesuai untuk persekitaran pelbagai pelayan, lengkung pembelajaran yang mudah tetapi curam; 3. Skrip python adat, fleksibel tetapi perlu memastikan keselamatan skrip; 4 Boneka dan chef, sesuai untuk persekitaran berskala besar, kompleks tetapi berskala. Skala, keluk pembelajaran dan keperluan integrasi harus dipertimbangkan ketika memilih.

Ya, yoursearchinsideablobinmysqlusingspecifictechniques.1) converttheblobtoautf-8stringwithconvertfunctionandsearchusing.2) forcompressedblobs, usedcompressbeforeconversion.3) overperformanceimpacsanddata

Mysqloffersvariousstringdatatypes: 1) charforfixed-lengtstrings, idealforconsistentlengthdatalikecountrycodes; 2) varcharforvariable-lengtstrings, stateforfieldslikenames;

Tomastermysqlblobs, ikutiTheSesteps: 1) choosetheappropriateblobtype (tinyblob, blob, mediumblob, longblob) berasaskan.2) InsertDatausingLoad_FileForefficiency.3)

BlobdatatypesinmysqlareusedForVoringLargeBinaryDatalikeImagesOrudio.1) useblobtypes (tinyblobtolongblob) berasaskanonDatasizeneeds. 2) storeBlobsin persepsi petooptimize prestasi.3) Considersxternal Forel Blob Romana DatabasesizerIndimprovebackupe

Toadduserstomysqlfromthecommandline, loginasroot, thenusecreateuser'username '@' host'identifiedby'password '; tocreateanewuser.grantpermissionswithgrantallprivilegesondatabase

Mysqlofferstightstringdatatypes: char, varchar, binari, varbinary, gumpalan, teks, enum, andset.1) charisfixed-length, idealforconsistentdatalikecountrycodes.2) varcharisvariable-length, efficialforvaryingdatalikenames.3)


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Dreamweaver Mac版
Alat pembangunan web visual

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa
