日期:2014-05-16  浏览次数:20510 次

主键设置
sql server怎么设置主键的  请教下大侠们
我是想设置个主键然后对表中某行的值进行修改   貌似必须要用到主键的
------解决方案--------------------
---创建主键约束,唯一约束,检查约束
create table test
(
  id int,
  testname varchar(50),
  sex bit,
  class varchar(50),
  score float default(0)
  constraint pk_test primary key/*这里可以指定是创建聚集或非聚集索引clustered
------解决方案--------------------
nonclustered可选项*/(id)
  constraint ix_test unique(testname)
  constraint ck_test check/*这里可以使用 not for replication可选项,用于指定当从其他表中复制数据时,不检查约束条件*/(score>=0)
)
  go

------解决方案--------------------
也可以直接在列后面写 primary key
------解决方案--------------------
可以用单一的自增ID ,也可以用几个字段作为联合主键。 得看具体业务需求。

主键可以简单理解为:唯一标识该行
------解决方案--------------------
这个要看你是否已经建表,如果没建表:
用一楼的方式,如果建表了,用alter table xxx add 命令
------解决方案--------------------
行实际上是没有位置可言的。有空值的也不能设主键,所以你可能要处理这些控制,比如用另外一个值代替
------解决方案--------------------

在建表时加:
create table table_name
(
字段1,
字段2,
primary key (字段1)
)

在建表后加:alter table table_name add constraint pk_name primary key(列名)

------解决方案--------------------
对表中某行的值进行修改, 不是必须要用到主键的.
可以根据该行的唯一值字段检索到该行([过滤条件]),然后更新即可.

 update [表名] set 字段=[值] where [过滤条件]

------解决方案--------------------
引用:
对指定行的位置的值修改   除了用主键还可以用什么的   主键设置不能有空值的    我的表中有空值

重点不是是否有主键,而是如何检索到要更新的指定行,即[过滤条件]的确定.

update [表名] set 字段=[值] where [过滤条件]

------解决方案--------------------
如果没建表,在见表时可以在字段加primary key ,设置为主键,要是已经见好表了,可以之间右击表,设置,在右击字段,可以设置为主键!