top
Loading...
1.8.6.1.PRIMARYKEY和UNIQUE索引約束
1.8.6.1. PRIMARY KEY和UNIQUE索引約束

通常情況下,當你試圖INSERTUPDATE會導致主鍵、唯一鍵或外鍵沖突的行時,將出現錯誤。如果你正在使用事務性存儲引擎時,如InnoDB,MySQL會自動回滾語句。如果你正在使用非事務性存儲引擎,MySQL將在出錯的行上停止執行語句,剩余的行也不再處理。

如果你希望忽略這類鍵沖突,可使用MySQL支持的、用于INSERTUPDATEIGNORE關鍵字。在這種情況下,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表的外鍵支持。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/introduction.html
北斗有巢氏 有巢氏北斗