插入执行多次,跳过不符合外键约束的行

Insert with execute many, skipping rows that fail foreign key constraints

我正在使用 Python mysql.connector 。我必须做很多插入。我插入的数据可能有一些行会导致外键约束失败,因此 return 1452 mysql 错误。

 add_specific="""
INSERT INTO `specific info type`
(`name`, `Classification Type_idClassificationType`)
VALUES
(%s, %s);
"""
cursor.executemany(add_specific, specific_info)

有没有一种方法可以让我执行所有插入,并且在 1452 的情况下将跳过该示例。我读到 executemany 效率更高,所以我更愿意使用它。我想我可以遍历所有示例并进行单独插入并捕获异常。

使用INSERT IGNORE INTO whatever和MySQL将忽略插入失败的行。