Во-первых, я новичок как в 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()
, и в результате таблица лута заполняется.
Большое спасибо всем, кто нашел время, чтобы взглянуть на мой вопрос. Хорошего вам отдыха! :)