MySQL 9.0 参考手册  /  ...  /  PRIMARY KEY 和 UNIQUE 索引约束

1.7.3.1 PRIMARY KEY 和 UNIQUE 索引约束

通常,对于会违反主键、唯一键或外键约束的数据更改语句(例如 INSERTUPDATE),会发生错误。如果您正在使用事务性存储引擎(例如 InnoDB),MySQL 会自动回滚该语句。如果您正在使用非事务性存储引擎,MySQL 会在发生错误的行处停止处理该语句,并将任何剩余的行保持未处理状态。

MySQL 支持 INSERTUPDATE 等语句的 IGNORE 关键字。如果您使用它,MySQL 会忽略主键或唯一键冲突,并继续处理下一行。请参阅您正在使用的语句部分(第 15.2.7 节,“INSERT 语句”第 15.2.17 节,“UPDATE 语句” 等)。

您可以使用 mysql_info() C API 函数获取有关实际插入或更新的行数的信息。您也可以使用 SHOW WARNINGS 语句。请参阅 mysql_info()第 15.7.7.41 节,“SHOW WARNINGS 语句”

InnoDBNDB 表支持外键。请参阅 第 1.7.3.2 节,“FOREIGN KEY 约束”