1.8.6.1.PRIMARYKEY和UNIQUE索引約束
1.8.6.1. PRIMARY
KEY和UNIQUE索引約束
通常情況下,當你試圖INSERT或UPDATE會導致主鍵、唯一鍵或外鍵沖突的行時,將出現錯誤。如果你正在使用事務性存儲引擎時,如InnoDB,MySQL會自動回滾語句。如果你正在使用非事務性存儲引擎,MySQL將在出錯的行上停止執行語句,剩余的行也不再處理。
如果你希望忽略這類鍵沖突,可使用MySQL支持的、用于INSERT和UPDATE的IGNORE關鍵字。在這種情況下,MySQL將忽略任何鍵沖突,并繼續處理下一行。請參見13.2.4節,“INSERT語法”。請參見3.2.10節,“UPDATE語法”。
使用mysql_info() C API函數,能夠獲取關于實際插入或更新行數的信息。請參見25.2.3.34節,“mysql_info()”。在MySQL 4.1和更高版本中,也能使用SHOW WARNINGS語句。請參見13.5.4.22節,“SHOW WARNINGS語法”。
目前,只有InnoDB表支持外鍵。請參見15.2.6.4節,“FOREIGN KEY約束”。計劃在MySQL 5.1中實施對MyISAM表的外鍵支持。