问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java怎么判定数据库表字段是否是主键

发布网友 发布时间:2022-04-07 19:09

我来回答

2个回答

懂视网 时间:2022-04-07 23:30

通过各种查资料,并且阅读sqlserver自带的存储过程总结出来的

SELECT DISTINCT c.name AS tablename, a.name,a.is_nullable,dbo.GetRemoveParentheses(d.text) AS defaultvalue,
		CASE WHEN (a.name = index_col (c.name, f.index_id, 1) or
  a.name = index_col (c.name, f.index_id, 2) or
  a.name = index_col (c.name, f.index_id, 3) or
  a.name = index_col (c.name, f.index_id, 4) or
  a.name = index_col (c.name, f.index_id, 5) or
  a.name = index_col (c.name, f.index_id, 6) or
  a.name = index_col (c.name, f.index_id, 7) or
  a.name = index_col (c.name, f.index_id, 8) or
  a.name = index_col (c.name, f.index_id, 9) or
  a.name = index_col (c.name, f.index_id, 10) or
  a.name = index_col (c.name, f.index_id, 11) or
  a.name = index_col (c.name, f.index_id, 12) or
  a.name = index_col (c.name, f.index_id, 13) or
  a.name = index_col (c.name, f.index_id, 14) or
  a.name = index_col (c.name, f.index_id, 15) or
  a.name = index_col (c.name, f.index_id, 16))
		 THEN
		 1
		 ELSE
		 0
		 END
		 AS isPrimary
		 ,
 CASE a.precision
  WHEN 0
  THEN CASE a.is_ansi_padded
   WHEN 1
   THEN CONVERT(NVARCHAR(15), b.name + '('
   + CONVERT(NVARCHAR(10), a.max_length) + ')')
   WHEN 0 THEN b.name
  END
  ELSE CASE a.scale
   WHEN 0 THEN b.name
   ELSE b.name + '(' + CONVERT(NVARCHAR(10), a.precision) + ','
   + CONVERT(NVARCHAR(10), a.scale) + ')'
  END
 END AS typelength 
FROM sys.columns a
 LEFT JOIN sys.types b ON a.system_type_id = b.system_type_id
     AND a.user_type_id = b.user_type_id
		INNER JOIN sysobjects c ON c.id = a.object_id
		LEFT JOIN syscomments d ON d.id = a.default_object_id
		INNER JOIN sys.key_constraints e ON e.parent_object_id = a.object_id
		INNER JOIN sys.indexes f ON e.unique_index_id = f.index_id

WHERE c.xtype = 'u' AND f.is_primary_key = 1 


获取数据库所有列以及列的类型是否为空是否为默认值是否为主键

标签:

热心网友 时间:2022-04-07 20:38

主键的概念是数据库中的,,java如果连接了数据库的话,当然可以判断数据存不存在
主键是一行数据的标示,只要有这一行数据,就存在主键;
在生活中,就像身份证号 可以确定一个人那样
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
发摅解释 摅的组词有哪些 摅字能组哪些词 检测电脑配置的软件电脑硬件检测权威软件有哪几个 查看电脑参数的软件什么软件可以全面检测显示出电脑硬件参数数据_百度... 有没有可以查自己电脑配置的软件啊??? 芯片程序解密哪家好 ...文章怎么突然间阅读量开始大减,从几百掉到个位数。 百家号怎么才个位数播放量?个位数播放量怎么算? 保本收益投资合法吗 深圳高交会门票怎么免费申请 三相电到配电箱有种接法 如何配三相五线制配电箱 什么温度下可以穿秋裤? 室外三相电表箱入户接线怎么接? 为什么秋裤大部分都是修身的,另外秋裤会越穿越大吗,纯棉的 电表箱怎么接线 无盘远程启动报错 冬天的秋衣秋裤大家多久洗一次 找一首舞曲, 急求德语翻译~~!!!~~~30分~ 多少度可以不穿秋裤? 从已有三相电电表箱怎么从新接出三相电 Jim is taller than any other boy in our class. 为什么QQ语音过断时间就会显示对方中止了语音通话或者网络中断 有没有懂意大利语的人问几个单词 打QQ电话时我这边显示当前网络不佳然后过一会就挂了在回头看聊天里时发现写着对方网络异常通话已结束 我和男朋友扣扣语音连麦断了,他那边显示对方网络异常通话已中断,而我这边却啥? qq正在语音通话中对方网络不好的话我这边会不会显示对方正在转至其他设备通话,请稍后我这边_百度问一问 黄桃披萨的做法步骤图,黄桃披萨怎么做好吃 2021高交会线下怎么看 国际高新技术成果交易会在哪举行? 最新一届的高交会是在哪里举办的? 第十九届高交会11月16日至21日在什么市举行? 高交会每年的11月16日至20日在哪里? 每年的11月16日至21日在哪里举行? 深圳的高交会是11月份吗? 请问深圳高交会具体什么时间开始? 今年高交会什么时候,举行 我国北方一年四季的应季水果分别有哪些? 深圳高交会每年的什么时候开 桌面上的文件都乱了 ,怎样调整过来 北方每一个季度的时令蔬菜,水果是什么? 电脑桌面文件很乱怎么处理 Win10系统桌面文件位置混乱该怎么办 二月初北方时令水果 8月有什么水果是当季的 我现在时间紧,但我想学硬笔书法(楷书),每天练多长时间才有用? 怎么写好钢笔字,技巧,练是每天都练 如何练好硬笔书法呢?