# 1.7.3.1 主键和唯一索引约束

通常,数据更改语句会发生错误(例如插入要么更新) 这将违反主键、唯一键或外键约束。如果您使用的是事务性存储引擎,例如InnoDB,MySQL自动回滚语句。如果您使用的是非事务性存储引擎,MySQL 将停止处理发生错误的行处的语句,并保留任何未处理的剩余行。

MySQL 支持一个忽视关键字插入,更新,等等。如果使用它,MySQL 会忽略主键或唯一键违规并继续处理下一行。请参阅您正在使用的语句部分(第 13.2.6 节,“INSERT 语句”,第 13.2.13 节,“更新语句”,等等)。

您可以获得有关实际插入或更新的行数的信息mysql_info() (opens new window)C API 函数。您还可以使用显示警告陈述。看mysql_信息() (opens new window), 和第 13.7.7.42 节,“显示警告声明”.

InnoDB新开发银行表支持外键。看第 1.7.3.2 节,“外键约束”.