表的完整性約束

HuangBingQuan發表於2024-12-07
  • 為防止不符合規範的資料存入資料庫,在使用者對資料進行插入、修改、刪除等操作時,MySQL提供了一種機制來檢查資料庫中的資料是否滿足規定的條件,以保證資料庫中資料的準確性和一致性,這種機制就是完整性約束。
    MySQL中主要支援以下幾種種完整性約束,如表所示。 其中Check約束是MySQL8中提供的支援。
約束條件 約束描述
PRIMARY KEY 主鍵約束,約束欄位的值可唯一地標識對應的記錄
NOT NULL 非空約束,約束欄位的值不能為空
UNIQUE 唯一約束,約束欄位的值是唯一的
CHECK 檢查約束,限制某個欄位的取值範圍
AUTO_INCREMENT 自動增加約束,約束欄位的值自動遞增
FOREIGN KEY 外來鍵約束,約束表與表之間的關係

總結

  1. 主鍵 = 不能為空 + 唯一 ,主鍵的作用:可以透過主鍵查到唯一的一條記錄, 如果主鍵是整數型別,那麼需要自增。
  2. 如果主鍵沒有設定值,或者用null.default都可以完成主鍵自增的效果。
  3. 如果sql報錯,可能主鍵就浪費了,後續插入的主鍵是不連號的。

相關文章