Cara Menambah Kekangan Kunci Asing di MySQL
Untuk menambah kunci asing di MySQL, gunakan Jadual Alter dengan menambah kekangan untuk menghubungkan jadual. Untuk jadual yang sedia ada, jalankan Alter Table Child_table Tambah kekangan FK_NAME Kunci Asing (Child_Column) Rujukan Parent_Table (parent_column); Pastikan kedua -dua lajur mempunyai jenis data yang sepadan dan lajur induk diindeks. Anda juga boleh menentukan kunci asing semasa penciptaan jadual menggunakan kunci asing (lajur) Rujukan Parent_table (lajur) dalam jadual CREATE. Secara opsyen, tentukan pada padam dan pada tindakan kemas kini seperti Cascade untuk menyebarkan perubahan secara automatik. Contoh: Pada padam Cascade menghilangkan rekod kanak -kanak apabila ibu bapa dipadamkan. Sentiasa sahkan kehadiran indeks pada lajur yang dirujuk untuk mengelakkan kesilapan.
Untuk menambah kekangan utama asing di MySQL, anda menggunakan pernyataan Alter Table bersama -sama dengan Tambah Kekangan . Ini memastikan integriti rujukan antara dua jadual dengan menghubungkan lajur dalam satu jadual ke kunci utama atau unik yang lain.
Tambah kekunci asing menggunakan jadual alter
Jika anda mempunyai jadual yang ada dan ingin menghubungkannya, gunakan Jadual Alter untuk menambah kunci asing. Sintaks asas adalah:
Alter Table Child_table Tambah kekangan fk_name Kunci Asing (Child_Column) Rujukan Parent_table (parent_column);
Sebagai contoh, katakan anda mempunyai dua jadual:
Buat Pengguna Jadual ( Kunci utama ID int, Nama Varchar (50) ); Buat pesanan jadual ( Pesanan_id int utama, user_id int, Tarikh Order_Date );
Untuk membuat user_id dalam ID rujukan pesanan pada pengguna , jalankan:
Alter Perintah Jadual Tambah kekangan FK_USER_ID Kunci Asing (USER_ID) Rujukan Pengguna (ID);
Tentukan kunci asing semasa penciptaan meja
Anda juga boleh menentukan kunci asing semasa membuat jadual:
Buat pesanan jadual ( Pesanan_id int utama, user_id int, Tarikh Order_Date, Kunci Asing (USER_ID) Rujukan Pengguna (ID) );
Ini mengelakkan memerlukan langkah jadual tambahan jika jadual induk sudah wujud.
Tetapkan kemas kini dan padamkan tindakan
Anda boleh menentukan apa yang berlaku apabila baris yang dirujuk dikemas kini atau dipadam menggunakan kemas kini dan padam . Pilihan umum termasuk Cascade, set Null, dan Hadr.
Contoh dengan Cascade Padam:
Alter Perintah Jadual Tambah kekangan FK_USER_ID Kunci Asing (USER_ID) Rujukan Pengguna (ID) Pada padam Cascade Pada Kemas Kini Cascade;
Ini bermakna jika pengguna dipadamkan, semua pesanan mereka dipadamkan secara automatik. Sekiranya ID pengguna berubah, perubahan itu mengalir ke jadual pesanan.
Pastikan kedua -dua lajur mempunyai jenis dan saiz data yang sama, dan lajur yang dirujuk mempunyai indeks (biasanya kunci utama atau unik). Jika tidak, MySQL akan membuang kesilapan.
Pada asasnya, hanya sepadan dengan jenis lajur, pastikan lajur induk diindeks, dan gunakan sintaks yang betul untuk kes penggunaan anda.
Atas ialah kandungan terperinci Cara Menambah Kekangan Kunci Asing di MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Anda boleh menyesuaikan pemisah dengan menggunakan kata kunci pemisah dalam fungsi Group_Concat (); 1. Gunakan pemisah untuk menentukan pemisah tersuai, seperti pemisah '; 'Pemisah boleh diubah menjadi titik titik koma dan ditambah; 2. Contoh umum termasuk menggunakan watak paip '|', ruang '', watak pemecah garis '\ n' atau rentetan adat '->' sebagai pemisah; 3. Perhatikan bahawa pemisah mestilah rentetan literal atau ekspresi, dan panjang hasilnya terhad oleh pembolehubah kumpulan_concat_max_len, yang boleh diselaraskan oleh setSessionGroup_concat_max_len = 10000; 4. Pemisah adalah pilihan

Ifnull () inmysqlreturnsthefirstexpressionifitisnotnull, otherwisereturnsthesecondexpression, afteritidealforreplacingnullValues withdefaults; forexample, ifnull (middle_name, 'n/a') paparan'n/a'whenmiddle_nameisnull, ifnull (discount, 0) memastikan calculations

Untuk memilih data dari jadual MySQL, anda harus menggunakan pernyataan pilih, 1. Gunakan selectColumn1, column2fromtable_name untuk mendapatkan lajur yang ditentukan, atau gunakan Pilih* untuk mendapatkan semua lajur; 2. Gunakan di mana klausa untuk menapis baris, seperti selectName, Agefromuserswhereage> 25; 3. Gunakan Orderby untuk menyusun hasilnya, seperti OrderByEgedesc, yang mewakili urutan menurun; 4. Penggunaan Had untuk mengehadkan bilangan baris, seperti Limit5 untuk mengembalikan 5 baris pertama, atau menggunakan Limit10Offset20 untuk melaksanakan paging; 5. Gunakan dan, atau dan kurungan untuk menggabungkan

ThelikeoperatorinmysqlisusedtosearchforpatternsIntextDataingWildCards; 1. Gunakan%tomatchanysequenceofcharactersandtomatchasingle watak; 2.forexample, 'John%' findsnamessTartingWithJohn, '%son'findsNamesendingWithson,'%ar%'findsnamescontainingar,' \ _ _ _ \ _ _

Untuk menyemak saiz jadual MySQL, anda boleh mendapatkannya dengan menanyakan maklumat_schema.tables; Kaedah khusus adalah menggunakan pernyataan pilih untuk menggabungkan medan data_length dan index_length dan menukarnya ke unit MB. Anda boleh melihat saiz data dan indeks untuk satu jadual, semua jadual, atau secara berasingan. Kaedah ini sesuai untuk kebanyakan kes, tetapi nilai adalah anggaran. Mungkin terdapat perbezaan untuk jadual InnoDB. Cara yang paling biasa dan standard adalah untuk menanyakan jadual jadual dalam pangkalan data maklumat_schema untuk mendapatkan hasilnya.

JelaskanInmysqlisusedToAnalyZeQueryExecutionPlanswithoutrunningThequery, HelpeDidentifyPerformanceissues.1.useExplainBeforeaselect, Insert, Update, Delete, OrreplaceStatement, MostCommonLyWithSelect.2.KeyutputcolumnsinMsin, Pilihan

Deadlocksinmysqloccurwhentransactionsblockeachotherbyholdingneededlocks, butcanbemanageffectivelyThroughprevention, pengendalian, dan pemantauan.1.Minimedeadlocksyaccessingrowsinaconsistentorder, keepingtransactionssmallandfast, menggunakanLowerSolationLeleSlelationSl

Tochecktheeventschedulerstatus, useshowvariableslike'event_scheduler ';
