主键约束在表中定义一个主键来唯一确定表中每一行
数据的
标识符。
产品参数
以下脚本均以SQLServer数据库为准
(非空,惟一)
例如:
alter table member
add
constraint PK_member_member_no primary key clustered (member_no)
主键列的数据类型不限,但此列必须是唯一并且非空。
如该表中已有主键为1000的行,则不能再添加主键为1000。
人工或程序不好控制的时候,也可以设置主键列为自动增长列。
自增列简述
自增列的类型应为int或bigint型。可以设置起始和每次递增数。
如:create table [table1]
(
[id] [int] identity(1,1)...
)
这样每次插入则不需要为主键设置参数,数据库会根据设置的递增条件,自动给出主键值。
如以上代码所示,则第一次插入后主键为1,第二次为2,依次递增。
需要注意的是:如果这个表中有10条数据,主键为1-10不间断的数字,那要删除第十条数据,
继续插入的话,id则会变成11,而不是10。通俗的说就是主键使用过一次将不会再次使用。
主键的作用
主键是一个表中能标识唯一行的标志(也有其他方法表示唯一行,如唯一列)。
主键主要用在查询单调数据,修改单调数据和删除单调数据上。
一般做程序的时候,都将表的主键设置为int型的可自增的列,这样在编程的时候,很容易区分数据。
删除:delete from [table] where id=1;
修改:update [table] set col1='test' where id=1;
查询:select * from [table] where id=1;