Rumah >pangkalan data >tutorial mysql >Bagaimana untuk menetapkan kekangan pada jadual dalam pangkalan data MySQL
Sebelum memahami kunci utama, fahami dahulu apa itu kata kunci
Kata kunci: medan unik dalam jadual, seperti A person's Nombor ID dan nombor pelajar. Terdapat berbilang kata kunci dalam jadual.
Kunci primer ialah gabungan satu atau lebih kata kunci Maklumat tentang keseluruhan jadual boleh diperolehi melalui kunci primer, kadangkala juga dipanggil kunci utama. Mengambil jadual pesanan sebagai contoh, anda boleh mendapatkan nama penerima pesanan, maklumat produk, harga dan maklumat lain yang berkaitan melalui nombor pesanan.
Nota: Kata kunci tidak semestinya kunci utama, kunci utama mestilah kata kunci
Ciri-ciri: Kunci utama tidak boleh kosong, unik dan tidak boleh berulang. Jadual sama ada mempunyai hanya satu kunci utama atau tiada kunci utama, dan tidak boleh mempunyai berbilang kunci utama.
Kaedah 1: Tetapkan kunci utama semasa mencipta jadual
-- 建立User表 CREATE TABLE User( User_id int NOT NULL, User_name VARCHAR(20), User_pwd VARCHAR(18), -- 在这里设置id为主键 PRIMARY KEY(User_id) )rrree
Dua kaedah di atas boleh mencipta kunci utama dan kesannya adalah sama.
Kaedah 2: Tiada kunci utama ditetapkan semasa membuat jadual, dan kemudian tetapkan kunci utama dalam jadual
Mula-mula buat jadual tanpa menetapkan kunci utama
CREATE TABLE Users( -- 也可以在字段中直接设置主键 User_id int NOT NULL PRIMARY KEY, User_name VARCHAR(20), User_pwd VARCHAR(18) )
CREATE TABLE User( User_id int NOT NULL, User_name VARCHAR(20), User_pwd VARCHAR(18) )
Sebagai contoh, jadual pesanan mengandungi dua kunci asing: ID produk dan ID pengguna. ID produk ialah kunci utama jadual maklumat produk dan ID pengguna ialah kunci utama jadual pengguna.
ALTER TABLE user ADD PRIMARY KEY(User_id)Kaedah 2: Tiada kunci utama ditetapkan semasa mencipta jadual, dan kemudian tetapkan kunci utama dalam jadual
ALTER TABLE users MODIFY User_id INT PRIMARY KEY;
CREATE TABLE dingdan( DDid INT PRIMARY KEY NOT NULL, User_id INT NOT null, DDname VARCHAR(20) NOT NULL, -- 设置约束关系,dingdan表中的User_id 与 user表中的User_id表示的是同一个数据 constraint fk FOREIGN KEY(User_id) REFERENCES user(User_id) )4. bukan null (tidak kosong) bermakna medan ini tidak boleh kosong Kemudian tulis kekangan unik di atas, yang menetapkan bahawa bukan sahaja alamat e-mel tidak boleh Diulang dan tidak boleh kosong
alter table student add constraint stfk foreign key(stid) references teacher(tid)
CREATE TABLE User( User_id int NOT NULL, User_name VARCHAR(20), User_pwd VARCHAR(18), User_Email VARCHAR(40) UNIQUE )6. auto_increment (kenaikan diri) Auto-increment bermaksud kenaikan automatik, iaitu, jika anda tidak mempunyai apa-apa dalam medan ini Isikan data, sistem akan secara automatik menambah 1 berdasarkan data sebelumnya biasanya digunakan dalam ID, nombor menetapkan ID dalam jadual pengguna untuk menambah automatik
CREATE TABLE User( User_id int NOT NULL, User_name VARCHAR(20), User_pwd VARCHAR(18), User_Email VARCHAR(40) UNIQUE not null )Nota: Tidak. Jika sekeping data tidak diisi, nilai akan diberikan secara lalai. Jadi walaupun ID ialah kunci utama, anda tidak perlu mengisi data
Atas ialah kandungan terperinci Bagaimana untuk menetapkan kekangan pada jadual dalam pangkalan data MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!