首頁 > 資料庫 > mysql教程 > 如何在 SQL Server 中擷取包含主鍵約束的資料列資訊?

如何在 SQL Server 中擷取包含主鍵約束的資料列資訊?

Mary-Kate Olsen
發布: 2025-01-03 22:42:39
原創
1005 人瀏覽過

How to Retrieve Column Information Including Primary Key Constraints in SQL Server?

在SQL Server 中擷取具有主鍵限制的資料列資訊

取得表中的資料列及其資料類型和NOT NULL 的清單限制是一項常見任務。但是,您可能還需要確定哪些列是主鍵。本文介紹如何擴展現有查詢以包含此資訊。

擴充查詢

要將主鍵資訊合併到您的查詢中,請使用以下擴充功能:

LEFT OUTER JOIN sys.index_columns ic
ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN sys.indexes i
ON ic.object_id = i.object_id AND ic.index_id = i.index_id
登入後複製

附加欄

此擴充功能向輸出新增附加列,在預期輸出中指示為「主鍵」:

Column Name Data Type Length isNull Primary Key
... ... ... ... ...

如果列是主鍵,則「主鍵」列將顯示TRUE;

完整查詢

帶有主鍵擴展的完整查詢如下:

SELECT 
    c.name 'Column Name',
    t.Name 'Data type',
    c.max_length 'Max Length',
    c.precision ,
    c.scale ,
    c.is_nullable,
    ISNULL(i.is_primary_key, 0) 'Primary Key'
FROM    
    sys.columns c
INNER JOIN 
    sys.types t ON c.user_type_id = t.user_type_id
LEFT OUTER JOIN 
    sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN 
    sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
WHERE
    c.object_id = OBJECT_ID('YourTableName')
登入後複製

替換' YourTableName' 與您的實際表名稱以檢索所需的資訊。

以上是如何在 SQL Server 中擷取包含主鍵約束的資料列資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板