通常,資料更改語句(例如
insert
或
update
)會
發生錯誤,這些錯誤
會違反主鍵,唯一鍵或外來鍵約束。
如果您使用事務儲存引擎(例如)
innodb
,mysql會自動回滾該語句。
如果您使用的是非事務性儲存引擎,則mysql會在發生錯誤的行停止處理該語句,並保留所有未處理的行。
mysql支援的ignore
關鍵字
insert
,
update
等。
如果使用它,mysql將忽略主鍵或唯一鍵衝突,並繼續處理下一行。
請參見本節中所使用的語句(
第13.2.6節「 insert語句」
, 第13.2.13節「 update語句」
等)。您可以獲取有關使用
mysql_info()
c api函式
實際插入或更新的行數的資訊
。您也可以使用該
show warnings
語句。
請參見
mysql_info()
和 第13.7.7.42節「 show warnings語句」
。innodb
和ndb
表支援外來鍵。
請參見
第1.7.3.2節「外來鍵約束」
。
唯一約束,主鍵約束,唯一索引
1.unique約束和primary key約束用來保證同一表中指定的列上沒有重複值,這兩個約束都產生唯一索引確保資料一致性,預設情況下,unique約束產生唯一的非聚集索引,primary key約束產生唯一的聚集索引。primary key約束比unique約束嚴格 primary key列不允...
oracle主鍵約束 唯一鍵約束和唯一索引的區別
1 主鍵約束和唯一鍵約束均會隱式建立同名的唯一索引,當主鍵約束或者唯一鍵約束失效時,隱式建立的唯一索引會被刪除 2 主鍵約束要求列值非空,而唯一鍵約束和唯一索引不要求列值非空 3 相同字段序列不允許重複建立索引 檢視約束名稱,約束型別 select constraint name,constrain...
主鍵和唯一索引
主鍵和唯一索引 主鍵 主關鍵字 primary key 是表中的乙個或多個字段,它的值用於唯一地標識表中的某一條記錄。唯一索引 一種索引,不允許具有索引值相同的行,從而禁止重複的索引或鍵值。系統在建立該索引時檢查是否有重複的鍵值,並在每次使用 insert 或 update 語句新增資料時進行檢查。...