Заполнение неверной таблицы MySQL с использованием Python - PullRequest
0 голосов
/ 21 апреля 2019

Во-первых, я новичок как в Python, так и в MySQL, так как есть большая вероятность, что я мог что-то сделать неправильно, даже не подозревая. С этим из пути. Моя проблема с заполнением таблицы в базе данных, которую я создал с помощью Python. Я создал 2 таблицы, затем я заполняю их, но только одна из них получает данные, вставленные в нее.

Вот функции заполнения:

def popEst():
    my_cursor = mydb.cursor()
    sql = "INSERT INTO establishment (name, description) VALUES (%s, %s)"
    entries = int(input("Enter number of entries: "))
    records = []
    for row in range(entries):
        records.append([])
    for row in range(entries):
        for col in range(2):
            records[row].append(col)
            records[row][col] = 0
    for row in range(entries):
        for col in range(2):
            if col == 0:
                records[row][col] = input("Enter name: ")
            else:
                records[row][col] = input("Enter description: ")
    my_cursor.executemany(sql, records)
    mydb.commit()
def popLoot():
    my_cursor = mydb.cursor()
    sql = "INSERT INTO loot (name, description) VALUES (%s, %s)"
    entries = int(input("Enter number of entries: "))
    records = []
    for row in range(entries):
        records.append([])
    for row in range(entries):
        for col in range(2):
            records[row].append(col)
            records[row][col] = 0
    for row in range(entries):
            for col in range(2):
                #records[row][col] = input("Field: " + str(col+1) + " Entry: " + str(row+1) + " : ")
                if col == 0:
                    records[row][col] = input("Enter name: ")
                else:
                    records[row][col] = input("Enter description: ")
    my_cursor.executemany(sql, records)
    mydb.commit()

И это фрагмент кода, который вызывает одну из двух функций в зависимости от ввода пользователя:

pop_choice = input("Select Table: ")
if pop_choice.upper() == "LOOT":
    popLoot()
else:
    popEst()

Когда я запускаю это, по какой-то причине вызывается только popLoot(), и в результате таблица лута заполняется.

Большое спасибо всем, кто нашел время, чтобы взглянуть на мой вопрос. Хорошего вам отдыха! :)

...