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 约束”。