Rumah >pangkalan data >tutorial mysql >Bagaimana untuk menanyakan kekangan kunci asing dalam mysql
Dalam mysql, anda boleh menggunakan pernyataan show untuk menanyakan kekangan kunci asing paparkan maklumat dalam jadual Maklumat tentang semua kekangan kunci utama, kekangan kunci asing, kekangan bukan nol dan kekangan lain.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.
Arahan mysqlshow digunakan untuk memaparkan maklumat pangkalan data, jadual dan lajur dalam pelayan MySQL.
Dalam MySQL, anda boleh menggunakan pernyataan SHOW CREATE TABLE untuk melihat kekangan dalam jadual dan kemudian menanyakan kekangan kunci asing.
Lihat format sintaks kekangan dalam jadual data seperti berikut:
SHOW CREATE TABLE <数据表名>;
Contohnya adalah seperti berikut:
mysql> CREATE TABLE tb_emp8 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(22) UNIQUE, -> deptId INT(11) NOT NULL, -> salary FLOAT DEFAULT 0, -> CHECK(salary>0), -> FOREIGN KEY(deptId) REFERENCES tb_dept1(id) -> ); Query OK, 0 rows affected (0.37 sec) mysql> SHOW CREATE TABLE tb_emp8 \G *************************** 1. row *************************** Table: tb_emp8 Create Table: CREATE TABLE `tb_emp8` ( `id` int(11) NOT NULL, `name` varchar(22) DEFAULT NULL, `deptId` int(11) NOT NULL, `salary` float DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`), KEY `deptId` (`deptId`), CONSTRAINT `tb_emp8_ibfk_1` FOREIGN KEY (`deptId`) REFERENCES `tb_dept1` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312 1 row in set (0.19 sec)
Pengetahuan lanjutan:
Out Definition of key constraints
Mysql foreign key constraint (FOREIGN KEY) ialah medan khas jadual, selalunya digunakan bersama-sama dengan primary key constraints. Untuk dua jadual dengan perhubungan yang berkaitan, jadual tempat kunci utama dalam medan berkaitan terletak ialah jadual utama (jadual induk), dan jadual tempat kunci asing terletak ialah jadual hamba (jadual anak)
Andaikan kita mempunyai 2 Jadual ialah Jadual A dan Jadual B masing-masing Ia berkaitan melalui medan biasa "id". Jika "id" ialah kunci utama dalam jadual A, maka jadual A ialah jadual utama dalam perhubungan R ini. Sejajar dengan itu, jadual B ialah jadual hamba dalam hubungan ini, dan "id" dalam jadual B ialah apa yang digunakan oleh jadual B untuk merujuk data dalam jadual A, yang dipanggil kunci asing. Oleh itu, kunci asing ialah medan awam yang digunakan untuk merujuk data dalam jadual utama daripada jadual
Peranan kekangan kunci asing
Kekangan kunci asing boleh membantu kita tentukan Hubungan rujukan antara medan kunci asing dalam jadual hamba dan medan kunci utama dalam jadual induk juga boleh memastikan bahawa data jadual induk yang dirujuk oleh data dalam jadual hamba tidak akan dipadamkan, memastikan ketekalan data dalam dua jadual
Apabila rekod dipadamkan daripada jadual utama, rekod yang sepadan daripada jadual hamba juga mesti ditukar sewajarnya. Jadual boleh mempunyai satu atau lebih kunci asing, dan kunci asing boleh menjadi nilai nol Jika ia bukan nilai nol, nilai setiap kunci asing mestilah sama dengan nilai tertentu kunci utama dalam jadual utama <.>
Walau bagaimanapun, kunci asing Kekangan utama adalah mahal dan memerlukan sumber sistem untuk digunakan, dan mungkin tidak sesuai untuk operasi SQL serentak yang besar. Oleh itu, MySQL membolehkan anda melengkapkan logik menyemak ketekalan data pada peringkat aplikasi tanpa menggunakan kekangan kunci asing yang disertakan dengan sistem. Ini juga sebab mengapa kami boleh melakukan pertanyaan berkaitan walaupun kami tidak menetapkan kunci asing Pembelajaran yang disyorkan:Atas ialah kandungan terperinci Bagaimana untuk menanyakan kekangan kunci asing dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!