①创建时:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno) )
②修改时:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名)
前提是原先没有设置主键。
2.外键语法
①创建时: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.使用组合主键
如果一列不能唯一区分一个表里的记录时,可以考虑多个列组合起来达到区分表记录的唯一性,形式
①创建时:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno,courseid) )
②修改时:alter table tb_name add primary key (字段1,字段2,字段3)
前提是原来表中没有设置主键,若原先已有主键则会报错。
用命令创建主键与外键方法如下:
--用命令创建主键与外键.
--使用SQL语句创建主键约束可以在创建表(CreateTable)或修改表(AlterTable)时进行 创建。
--例创建表时
createtabletablename
(
idint(CONSTRAINTpk_id)PRIMARYKEY
)
--例修改表时
ALTERTABLEtablename --修改表
ADD
CONSTRAINTtb_PRIMARY
PRIMARYKEYCLUSTERED(列名)/*将你要设置为主键约束的列*/
首先一个表是不能有两个主键的。但是可以有两个字段组合成一个主键,这就是为什么有时候表里为什么会有两个字段都有主键的标志,那是因为他们组合成了一个主键了。我们可以先删除了原来的主键再用类似下面SQL语句建立:
alter table 你的表名 add constraint pk_name primary key (字段1,字段2)
或者在表设计器里面按住ctrl选中要设置主键的两列再设置主键就OK了.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)