1、打開navicat工具,連接上mysql服務器,選擇完數據庫之后,選擇一個表右擊選擇設計表(這里為了演示測試,隨便選擇一個表即可)。
成都創(chuàng)新互聯公司自2013年創(chuàng)立以來,先為五通橋等服務建站,五通橋等地企業(yè),進行企業(yè)商務咨詢服務。為五通橋企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
2、在設計表頁面,可以看到當前表的所有字段信息,我們選擇的學生表有一個id字段,目前該表沒有主鍵字段。
3、如圖,在最后一列右擊選擇主鍵,即可將該字段設置為主鍵,也可以直接點擊鼠標左鍵,可以快速添加和取消主鍵。
4、設置完主鍵之后,可以看到一把鎖的標志,并且有一個1字,因為一個表可以給多個字段添加主鍵,則為聯合主鍵,這樣就顯示為主鍵1,主鍵2等。
5、主鍵設置完成之后,還沒有自增,選擇id字段之后,在下方,如圖,勾選自動遞增,這樣id在每次插入記錄之后都會自增一個值。
6、設置完成主鍵和自增之后,點擊保存,關閉當前窗口,然后選擇表名右擊選擇對象信息。
7、在DLL頁面中,可以看到剛剛添加的主鍵和自增的DLL語句,這里就是創(chuàng)建表的DLL語句。
8、上面有提到聯合主鍵,其實一個表可以給多個字段設置主鍵,這樣可以組成聯合主鍵,對于特定的業(yè)務,聯合主鍵也是必須的。
mysql設置主鍵的代碼是PRIMARY KEY (主鍵字段)。
如:CREATE TABLE Customer (SID integer,Last_Name varchar(30),First_Name varchar(30),PRIMARY KEY (SID))。
主關鍵字(主鍵,primary key)是被挑選出來,作表的行的唯一標識的候選關鍵字。一個表只有一個主關鍵字。主關鍵字又可以稱為主鍵。
擴展資料:
永遠也不要更新主鍵。實際上,因為主鍵除了唯一地標識一行之外,再沒有其他的用途了,所以也就沒有理由去對它更新。如果主鍵需要更新,則說明主鍵應對用戶無意義的原則被違反了。
主鍵應當由計算機自動生成。如果由人來對主鍵的創(chuàng)建進行干預,就會使它帶有除了唯一標識一行以外的意義。一旦越過這個界限,就可能產生人為修改主鍵的動機,這樣,這種系統用來鏈接記錄行、管理記錄行的關鍵手段就會落入不了解數據庫設計的人的手中。
1.主鍵語法
①創(chuàng)建時:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno) );
②修改時:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
前提是原先沒有設置主鍵。
2.外鍵語法
①創(chuàng)建時:create table sc (
studentno int,
courseid int,
score int,
foreign key (courseid) );
②修改時:
ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[約束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;
3.使用組合主鍵
如果一列不能唯一區(qū)分一個表里的記錄時,可以考慮多個列組合起來達到區(qū)分表記錄的唯一性,形式
①創(chuàng)建時:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno,courseid) );
②修改時:alter table tb_name add primary key (字段1,字段2,字段3);
前提是原來表中沒有設置主鍵,若原先已有主鍵則會報錯。