แชร์ผ่าน


ใช้คอลัมน์ IDENTITY เพื่อสร้างคีย์ตัวแทนใน Fabric Data Warehouse

นําไปใช้กับ:✅ Warehouse ใน Microsoft Fabric

บทช่วยสอนนี้อธิบายวิธีการใช้ IDENTITY คอลัมน์ใน Fabric Data Warehouse เพื่อสร้างและจัดการคีย์ตัวแทนอย่างมีประสิทธิภาพ

ข้อกําหนดเบื้องต้น

  • มีสิทธิ์เข้าถึงสินค้าคลังสินค้าในพื้นที่ทํางาน ด้วยสิทธิ์ ผู้สนับสนุน หรือสูงกว่า
  • เลือกเครื่องมือคิวรีของคุณ บทช่วยสอนนี้มีตัวแก้ไขคิวรี SQL ในพอร์ทัล Microsoft Fabric แต่คุณสามารถใช้เครื่องมือคิวรี T-SQL ใด ๆ ได้
  • ความเข้าใจพื้นฐานของ T-SQL

คอลัมน์ IDENTITY คืออะไร

IDENTITYคอลัมน์คือคอลัมน์ตัวเลขที่สร้างค่าที่ไม่ซ้ํากันสําหรับแถวใหม่โดยอัตโนมัติ ทําให้เหมาะอย่างยิ่งสําหรับการใช้คีย์ตัวแทน เนื่องจากช่วยให้มั่นใจได้ว่าแต่ละแถวจะได้รับตัวระบุที่ไม่ซ้ํากันโดยไม่ต้องป้อนข้อมูลด้วยตนเอง

สร้างคอลัมน์ IDENTITY

เมื่อต้องการกําหนด IDENTITY คอลัมน์ ให้ระบุคํา IDENTITY สําคัญในข้อกําหนด CREATE TABLE คอลัมน์ของไวยากรณ์ T-SQL:

CREATE TABLE { warehouse_name.schema_name.table_name | schema_name.table_name | table_name } (
    [column_name] BIGINT IDENTITY,
    [ ,... n ],
    -- Other columns here
);

Note

ใน Fabric Data Warehouse bigint เป็นชนิดข้อมูลเดียวที่รองรับสําหรับ IDENTITY คอลัมน์ นอกจากนี้ seed คุณสมบัติ และ increment ของ T-SQL IDENTITY ไม่ได้รับการสนับสนุน สําหรับข้อมูลเพิ่มเติม โปรดดู คอลัมน์ IDENTITY และ IDENTITY (Transact-SQL) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างตาราง โปรดดู สร้างตารางในคลังสินค้าใน Microsoft Fabric

สร้างตารางด้วยคอลัมน์ IDENTITY

ในบทช่วยสอนนี้ เราจะสร้างตารางเวอร์ชัน Trip ที่ง่ายกว่าจาก ชุดข้อมูลแบบเปิดของ NY Taxi และเพิ่มคอลัมน์ใหม่ TripIDIDENTITY ลงไป ทุกครั้งที่มีการแทรก TripID แถวใหม่ จะมีการกําหนดค่าใหม่ที่ไม่ซ้ํากันในตาราง

  1. กําหนดตารางที่มี IDENTITY คอลัมน์:

     CREATE TABLE dbo.Trip
     (
         TripID BIGINT IDENTITY,
         DateID int,
         MedallionID int,
         HackneyLicenseID int,
         PickupTimeID int,
         DropoffTimeID int
     );
    
  2. ต่อไปเราใช้เพื่อ COPY INTO นําเข้าข้อมูลบางส่วนลงในตารางนี้ เมื่อใช้ COPY INTO กับ IDENTITY คอลัมน์ คุณต้องระบุรายการคอลัมน์ โดยแมปกับคอลัมน์ในข้อมูลต้นฉบับ

    COPY INTO Trip (DateID 1, MedallionID 2, HackneyLicenseID 3, PickupTimeID 4, DropoffTimeID 5)
    FROM 'https://nytaxiblob.blob.core.windows.net/2013/Trip2013'
    WITH
    (
        FILE_TYPE = 'CSV',
        FIELDTERMINATOR = '|',
        COMPRESSION = 'GZIP'
    );
    
  3. เราสามารถดูตัวอย่างข้อมูลและค่าที่กําหนดให้กับ IDENTITY คอลัมน์ได้ด้วยแบบสอบถามง่ายๆ:

    SELECT TOP 10 * 
    FROM Trip;
    

    ผลลัพธ์ประกอบด้วยค่าที่สร้างขึ้นโดยอัตโนมัติสําหรับ TripID คอลัมน์สําหรับแต่ละแถว

    สกรีนช็อตของผลลัพธ์คิวรีที่แสดงตารางที่มี 10 แถวแรกของชุดข้อมูลการเดินทางด้วยแท็กซี่

    สําคัญ

    ค่านิยมของคุณอาจแตกต่างจากค่านิยมที่สังเกตได้ในบทความนี้ IDENTITY คอลัมน์สร้างค่าสุ่มที่รับประกันว่าไม่ซ้ํากัน แต่อาจมีช่องว่างในลําดับ และค่าอาจไม่เรียงลําดับ

  4. คุณยังสามารถใช้เพื่อ INSERT INTO นําเข้าแถวใหม่ในตารางของคุณได้อีกด้วย

    INSERT INTO dbo.Trip
    VALUES (20251104, 3524, 28804, 51931, 52252);
    
  5. รายการคอลัมน์สามารถระบุ INSERT INTOได้ แต่ไม่จําเป็น เมื่อระบุรายการคอลัมน์ ให้ระบุชื่อของคอลัมน์ทั้งหมดที่คุณให้ข้อมูลอินพุต ยกเว้น IDENTITY คอลัมน์:

    INSERT INTO dbo.Trip (DateID, MedallionID, HackneyLicenseID, PickupTimeID, DropoffTimeID)
    VALUES (20251104, 8410, 24939, 74609, 49583);
    
  6. เราสามารถตรวจสอบแถวที่แทรกด้วยแบบสอบถามง่ายๆ:

    SELECT *
    FROM dbo.Trip
    WHERE DateID = 20251104;
    

สังเกตค่าที่กําหนดให้กับแถวใหม่:

ตารางที่มีสองแถวและหกคอลัมน์ที่แสดงข้อมูลการเดินทางของแท็กซี่