每張表只能有1個自動增長字段,這個自動增長字段即可作為主鍵,也可以用作非主鍵使用,但是請注意將自動增長字段當做非主鍵使用時必須必須為其添加唯一索引,否則系統(tǒng)將會報錯。例如:
棗強網(wǎng)站建設公司成都創(chuàng)新互聯(lián),棗強網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為棗強數(shù)千家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的棗強做網(wǎng)站的公司定做!
-- 將自動增長字段設置為主鍵
create table t1 (id int auto_increment Primary key,sid int);
-- 將自動增長字段設置為非主鍵,注意必須顯式添加Unique鍵
create table t2 (sid int primary key,id int auto_increment Unique);
-- **將自動增長字段設置為非主鍵如果未添加唯一索引將會報錯**,如下面語句
create table t3 (sid int primary key,id int auto_increment);
主鍵約束:唯一,不重復,不能為空? primary key
一個表中有且只有一個主鍵約束
1.創(chuàng)建表的同時創(chuàng)建主鍵約束
格式一:
create table 表名(
列名1? 數(shù)據(jù)類型 primary key,
列名2 數(shù)據(jù)類型
);
主鍵約束名字的寫法: PK_列名
格式二:
create table 表名(
列名1 數(shù)據(jù)類型,
列名2 數(shù)據(jù)類型,
constraint? 主鍵約束的名字? primary key(列名1)
);
格式三:
create table 表名(
列名1 數(shù)據(jù)類型,
列名2 數(shù)據(jù)類型,
primary key(列名1)
);
2.針對已經(jīng)存在的表,添加主鍵約束
格式一:
alter table 表名 modify 列名 數(shù)據(jù)類型 primary key;
格式二:
alter table 表名 add primary key(列名);
格式三:
alter table 表名 add constraint 主鍵約束的名字 primary key(列名);
3.刪除主鍵約束
格式:alter table 表名 drop primary key;
在SYBASE的ASE和ASA中,可以使用如下的系統(tǒng)存儲過程來獲取主鍵:
exec
sp_pkeys
'table_name';
sql
server也是一樣的!
至于mysql,我沒這個環(huán)境,相信應該有類似的存儲過程的!