Используемая команда не разрешена с этой MySQL версией - 1148 - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь записать содержимое ряда полей файла CSV, который я скачал с веб-сайта, в базу данных AWS.

Код указан ниже.

try:

    health_url = "https://data.cdc.gov/api/views/g4ie-h725/rows.csv?accessType=DOWNLOAD"
    req = requests.get(health_url)
    url_content = req.content
    csv_file = open('Health_Data.csv', 'wb')
    csv_file.write(url_content)

    cursor.execute("DROP TABLE IF EXISTS ObesityData") 
    cursor.execute("CREATE TABLE ObesityData (YearStart int, LocationDesc VARCHAR(255), Topic VARCHAR(255), Question VARCHAR(255), DataValueType VARCHAR(255), DataValue float)")

    query = "LOAD DATA LOCAL INFILE 'csv_file' INTO TABLE ObesityData \
                   FIELDS TERMINATED BY ',' \
                   LINES TERMINATED BY '\r\n' \
                   (YearStart, LocationDesc, Topic, Question, DataValueType, DataValue)"
    cursor.execute(query) 

    connection.commit()

Я получаю следующую ошибку: Ошибка записи в AWS: (1148, «Использованная команда недопустима в этой MySQL версии»)

I Я могу создать таблицу, но не могу ее заполнить, что заставляет меня думать, что, возможно, это связано с разрешениями. Я следил за всеми онлайн-предложениями (SET GLOBAL local_infile = 1, et c), но они не сработали.

Я пытался добавить allow_local_infile в строку подключения (как показано ниже), но это также выдает ошибку

connection = pymysql.connect(rds_host, username, password, db_name, port=port, charset='utf8mb4', allow_local_infile=True))

Я не думаю, что LOAD LOCAL INFILE устарела в MySQL 8.0, так как Я прочитал документацию по нему. Я относительно новичок в этом!

Примечание для модераторов: я рассмотрел все другие предлагаемые решения этой проблемы на этом сайте, я не могу заставить что-либо здесь работать, некоторые из вопросов старше 7 лет, поэтому, вероятно, никакого вреда есть версия 2020 года этого.

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