通常,数据更改语句(例如INSERT
或 UPDATE
)会发生错误,这些错误 会违反主键,唯一键或外键约束。如果您使用事务存储引擎(例如) InnoDB
,MySQL会自动回滚该语句。如果您使用的是非事务性存储引擎,则MySQL会在发生错误的行停止处理该语句,并保留所有未处理的行。
MySQL支持的IGNORE
关键字 INSERT
, UPDATE
等。如果使用它,MySQL将忽略主键或唯一键冲突,并继续处理下一行。请参见本节中所使用的语句(第13.2.6节“ INSERT语句”, 第13.2.13节“ UPDATE语句”等)。
您可以获取有关使用mysql_info()
C API函数实际插入或更新的行数的信息 。您也可以使用该SHOW WARNINGS
语句。请参见 mysql_info()和 第13.7.7.42节“ SHOW WARNINGS语句”。
InnoDB
和NDB
表支持外键。请参见 第1.7.3.2节“外键约束”。