sqlserver找主键,SQL主键外键

sqlserver怎么获取主键的值

插入一条记录后想要立刻获取其数据表中的sql server主键返回值。这个主键是自动生成的,其实实现的方式有很多,比如再进行一次查询,获取出来。或者在插入数据之前取出最大值,在最大值上面加一等等,方法很多,但是有些很不方便。

从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供成都网站设计、成都网站制作、外贸网站建设、网站策划、网页设计、主机域名、网页空间、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。

个人感觉最快的方式就是,在插入数据后直接获取sql server主键的值,然后返回过来。

方法如下:

sql语句如下:

INSERT INTO tableName (fieldname ...) values (value ...) SELECT @@IDENTITY AS returnName;

在sql语句中加入SELECT @@IDENTITY AS returnName;用来获取sql server主键的值

在程序中获取返回值:

public int sqlexecutereader(string sql) { DBopen(); SqlCommand myComm = new SqlCommand(sql, Connection); int newID = Convert.ToInt32(myComm.ExecuteScalar()); DBclose(); return newID; }

当然在此处主键是int类型的自动增加的。DBopen();DBclose();的操作在此就不多说了。

Sql Server如何查询一个表的主键?

可以参考下面的代码

SELECT t.* from user_cons_columns t where t.table_name  = '表名' and t.position is not null;   --表名必zd须大写,如:

TABLE_TEST  ,column即为用户的主键,user_cons_columns即为用户要的主键名。

扩展资料:

SQL语句

添加主键

Alter table tabname add primary key(col)

说明:删除主键:Alter table tabname drop primary key(col)

创建索引

create [unique] index idxname on tabname(col…。)

删除索引:drop index idxname on tabname

参考资料来源:百度百科-SQL语句大全

sql 查询 一个数据库中的所有主键

SELECT

表名=case

when

a.colorder=1

then

d.name

else

''

end,

字段序号=a.colorder,

字段名=a.name,

标识=case

when

COLUMNPROPERTY(

a.id,a.name,'IsIdentity')=1

then

'√'else

''

end,

主键=case

when

exists(SELECT

1

FROM

sysobjects

where

xtype='PK'

and

name

in

(

SELECT

name

FROM

sysindexes

WHERE

indid

in(

SELECT

indid

FROM

sysindexkeys

WHERE

id

=

a.id

AND

colid=a.colid

)))

then

'√'

else

''

end,

类型=b.name,

占用字节数=a.length,

长度=COLUMNPROPERTY(a.id,a.name,'PRECISION'),

小数位数=isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),

允许空=case

when

a.isnullable=1

then

'√'else

''

end,

默认值=isnull(e.text,'')

FROM

syscolumns

a

left

join

systypes

b

on

a.xtype=b.xusertype

inner

join

sysobjects

d

on

a.id=d.id

and

d.xtype='U'

and

d.name'dtproperties'

left

join

syscomments

e

on

a.cdefault=e.id

order

by

a.id,a.colorder

sqlserver查询字段是否为自增长或主键

/*查询标识字段或主键字段 [根据表名查询] *./ SELECT字段序号=a.colorder, 字段名=a.name, 字段类型=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '标识字段'else '主键字段' end FROM syscolumns a where id=object_id(N'loginuser') --要查询的表名 and( --标识字段 COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 or --主键字段 exists(SELECT 1 FROM sysobjects where xtype='PK' and name in ( SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))))order by a.id,a.colorder/*查询当前数据库所有 标识字段、主键字段 *./SELECT表名=case when a.colorder=1 then d.name else '' end, 字段名=a.name,

sqlserver如何查询一个表的主键都是哪些表的外键

外键(foreign

key)

如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。换而言之,如果关系模式r中的某属性集不是r的主键,而是另一个关系r1的主键则该属性集是关系模式r的外键,通常在数据库设计中缩写为fk。在sql

server中,主键是一个表中的约束。这个约束,一张表只能有一个,一般作为id使用,这个约束一般给别人外键引用。这个约束的功能就是,不可重复,保证了唯一性,正是这种特性,使得大多数人都把他作为表中id的字段使用。一个表的外键

可以

是另一个表的主键

如何在sqlserver数据库表中建立复合主键

方法一:创建表之后,alter

table

table_name

add

primary

key(字段1,字段2)

方法二:CREATE

TABLE

表名

(字段名1

Int

Not

Null,

字段名2

nvarchar(13)

Not

Null

字段名3…………

字段名N…………)

GO

ALTER

TABLE

表名

WITH

NOCHECK

ADD

CONSTRAINT

[PK_表名]

PRIMARY

KEY

NONCLUSTERED

(

[字段名1],

[字段名2]

)

GO

方法三:建表后,右键--设计,选中作为符合主键的列,选中之后右击--设为主键

本文名称:sqlserver找主键,SQL主键外键
本文网址:https://www.cdcxhl.com/article0/hcegoo.html

成都网站建设公司_创新互联,为您提供面包屑导航关键词优化网站导航用户体验营销型网站建设网站设计

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营