ITEEDU

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表的外键支持。