MySQL 8.4 版本说明
通常,对于会违反主键、唯一键或外键约束的数据变更语句(如 INSERT 或 UPDATE),会发生错误。如果您使用的是事务性存储引擎(如 InnoDB),MySQL 会自动回滚该语句。如果您使用的是非事务性存储引擎,MySQL 会在发生错误的行处停止处理该语句,并将任何剩余的行保持未处理状态。
MySQL 支持 INSERT、UPDATE 等语句的 IGNORE 关键字。如果您使用它,MySQL 会忽略主键或唯一键冲突,并继续处理下一行。请参见您正在使用的语句的章节(第 15.2.7 节,“INSERT 语句”、第 15.2.17 节,“UPDATE 语句” 等)。
您可以使用 mysql_info() C API 函数获取有关实际插入或更新的行数的信息。您还可以使用 SHOW WARNINGS 语句。请参见 mysql_info() 和 第 15.7.7.41 节,“SHOW WARNINGS 语句”。
InnoDB 和 NDB 表支持外键。请参见 第 1.7.3.2 节,“FOREIGN KEY 约束”。