#python #mysql #foreign-keys #mysql-connector-python #mysql-error-1452
#python #mysql #внешние ключи #mysql-connector-python #mysql-ошибка-1452
Вопрос:
Я использую Python mysql.connector. Мне приходится делать много вставок. Данные, которые я вставляю, вероятно, будут содержать некоторые строки, которые не будут соответствовать ограничению внешнего ключа и, таким образом, вернут ошибку mysql 1452.
add_specific="""
INSERT INTO `specific info type`
(`name`, `Classification Type_idClassificationType`)
VALUES
(%s, %s);
"""
cursor.executemany(add_specific, specific_info)
Есть ли способ, с помощью которого я могу выполнить все вставки, и в случае 1452 этот пример будет просто пропущен. Я читал, что executemany более эффективен, поэтому я бы предпочел использовать его. Я думаю, я мог бы перебрать все примеры, сделать отдельные вставки и перехватить исключение.
Ответ №1:
Использование INSERT IGNORE INTO whatever
и MySQL будут игнорировать строки, которые не вставляются.