Pandas dataframe to_ sql игнорировать ограничения внешнего ключа - PullRequest
0 голосов
/ 29 апреля 2020

В настоящее время я делаю проект, структура которого MySQL выглядит следующим образом: enter image description here

Мне нужно загрузить данные о применении из python pandas. MySQL применить таблицу. Но поскольку исходный pandas dataframe имеет элементы episode_id, отсутствующие в теге ACS (нарушая ограничения внешнего ключа). В этом случае я хочу пропустить загрузку этих строк, нарушая MySQL ключи внешних ограничений, и продолжить загружать другие строки. Ниже приведены коды, которые я пробовал после множества поисков, включая документ sqlachemy:

import mysql.connector as connector
from sqlalchemy import create_engine

engine = create_engine(
    'mysql+mysqlconnector://root:12345' +
    '@localhost:3306/icd_10_study', 
     echo=False)

with engine.begin() as cnn:
    insert_sql = """INSERT IGNORE INTO apply (episode_id, standard_id) VALUES (%(episode_id)s, 
           % (standard_id)s)"""
    cnn.execute(insert_sql % insert_sql)
applies.to_sql(name='apply', con=engine, 
        if_exists = 'append', index=False)

, но этот код сообщает об ошибках программирования. Ищет кого-то, кто может помочь в этом случае. Я пытался прочитать страницу: https://docs.sqlalchemy.org/en/13/core/connections.html. Но на этой странице я не понимаю, что означает «table1», и, следовательно, не помогал моей проблеме вообще. Нужна помощь здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...