1.8.3.1 主键和唯一索引约束

通常,数据更改语句(例如INSERTUPDATE)会发生错误,这些错误会违反主键,唯一键或外键约束。如果您正在使用诸如InnoDB之类的事务性存储引擎,MySQL 会自动回滚该语句。如果您使用的是非事务性存储引擎,则 MySQL 会在发生错误的行停止处理该语句,并保留所有未处理的行。

MySQL 支持INSERTUPDATE等的IGNORE关键字。如果使用它,MySQL 将忽略主键或唯一键冲突,并 continue 处理下一行。请参阅本节以了解您正在使用的语句(第 13.2.5 节“ INSERT 语句”第 13.2.11 节“ UPDATE 语句”等)。

您可以获取有关使用mysql_info() C API 函数实际插入或更新的行数的信息。您也可以使用SHOW WARNINGS语句。参见第 27.7.6.36 节“ mysql_info()”第 13.7.5.40 节“ SHOW 警告声明”

InnoDBNDBtable 支持外键。参见第 1.8.3.2 节“外键约束”