1.8.3.1 主键和唯一索引约束
通常,数据更改语句(例如INSERT或UPDATE)会发生错误,这些错误会违反主键,唯一键或外键约束。如果您正在使用诸如InnoDB
之类的事务性存储引擎,MySQL 会自动回滚该语句。如果您使用的是非事务性存储引擎,则 MySQL 会在发生错误的行停止处理该语句,并保留所有未处理的行。
MySQL 支持INSERT,UPDATE等的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 警告声明”。
InnoDB
和NDB
table 支持外键。参见第 1.8.3.2 节“外键约束”。