...字段,其中userid为主键,在只知道表名的情况下如何得到主键.
发布网友
发布时间:2024-09-29 21:35
我来回答
共2个回答
热心网友
时间:1天前
-- 把表名替换你要查询的表名即可 不明白再问我
select a.name 表,b.name 表主键的字段,c.name 主键名
from sysobjects a join syscolumns b on a.id=b.id
join sysobjects c on c.parent_obj=a.id
where b.colid=1 and a.name='表名' and c.xtype='PK'
--其实真正需求找有多少表调用了这个这个表的主键会更多一些 给楼主一些语句你可以研究下
--真正的高手必须要熟悉sql的系统表 很强大的 祝楼主学习愉快
SELECT fk.name AS fkname, ftable.name AS ftablename, cn.name AS fkcol,
rtable.name AS rtablename, rt.name AS rtcol
FROM sysforeignkeys INNER JOIN
sysobjects fk ON sysforeignkeys.constid = fk.id INNER JOIN
sysobjects ftable ON sysforeignkeys.fkeyid = ftable.id INNER JOIN
sysobjects rtable ON sysforeignkeys.rkeyid = rtable.id INNER JOIN
syscolumns cn ON sysforeignkeys.fkey = cn.colid AND
sysforeignkeys.fkeyid = cn.id INNER JOIN
syscolumns rt ON sysforeignkeys.rkeyid = rt.id AND
sysforeignkeys.rkey = rt.colid
热心网友
时间:1天前
什么数据库呢?