国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

查找數據表的主鍵

2019-11-18 15:14:28
字體:
來源:轉載
供稿:網友

  大多數數據庫有許多主鍵,但是在一個表中不答應兩條記錄的同一個主鍵具有相同的值。可以使用java Database Connectivity(JDBC)來判定一個數據表的主鍵。
  JDBC具有強大的元數據處理能力。java.sql.Connection類和java.sql.ResultSet類可以通過調用其getMetaData方法進行反射,例如:

// 對java.sql中所有的類Connection connection = .....DatabaseMetaData dbMeta = connection.getMetaData();ResultSet rset = .....ResultSetMetaData rsMeta = rset.getMetaData(); java.sql.DatabaseMetaData類包含一個查找數據表主鍵的方法。你需要知道表的名字,catalog名和schema名。假如不知道catalog和schema,那么你可以不使用它們而輸入“null”。例如:// 查找一個名字為“Comment”的表的主鍵// 沒有catalog或schema,都設置為nullResultSet pkRSet = dbMeta.getPRimaryKeys(null, null, "Comment");while( pkRSet.next() ) { System.err.println("****** Comment ******"); System.err.println("TABLE_CAT : "+pkRSet.getObject(1)); System.err.println("TABLE_SCHEM: "+pkRSet.getObject(2)); System.err.println("TABLE_NAME : "+pkRSet.getObject(3)); System.err.println("COLUMN_NAME: "+pkRSet.getObject(4)); System.err.println("KEY_SEQ : "+pkRSet.getObject(5)); System.err.println("PK_NAME : "+pkRSet.getObject(6)); System.err.println("****** ******* ******");}

在這個例子中表“Comment”具有一個叫做“comment_id”的主鍵。
下面是上面這些代碼在MySQL上的輸出:
****** Comment ******
TABLE_CAT :
TABLE_SCHEM:
TABLE_NAME : Comment
COLUMN_NAME: column_id
KEY_SEQ : 1
PK_NAME : column_id
****** ******* ******
存在PK_NAME的原因是有時會為一個主鍵使用列名之外的名字。而KEY_SEQ表示了主鍵的順序位置。有些使用字母順序保存主鍵的數據庫會為KEY_SEQ返回0。
當創建通用的數據庫應用時,查找一個表的主鍵是很基本的。JDBC的MetaData類提供了所需的數據庫反射機制,從而使得這些應用的實現成為可能。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 图片| 兴义市| 崇明县| 新巴尔虎左旗| 临沭县| 静安区| 亳州市| 广南县| 长宁县| 新丰县| 安阳县| 浦城县| 海城市| 桦川县| 宁武县| 遵义县| 杭州市| 南江县| 唐山市| 衡山县| 庄浪县| 天长市| 和平县| 措勤县| 景宁| 嘉荫县| 浏阳市| 廉江市| 仙游县| 建瓯市| 孙吴县| 六盘水市| 米泉市| 沈丘县| 阿尔山市| 东乌珠穆沁旗| 读书| 通州区| 冀州市| 那曲县| 南投县|