Я вставил данные в некоторые таблицы БД, которые не имеют внешних ключей, и теперь я хотел бы вставить данные в остальные из них. У меня есть 50 ShowNames и 50 театров в двух списках. Каждый театр имеет автоматическое увеличение HallID. Мне все равно, насколько случайны списки, поэтому я использовал для l oop, где i соответствует одному ShowName и одному HallID. Я также создал двумерный список actDateTime, где каждое шоу имеет список datetime. Я хочу вставить вышеуказанные данные в таблицу с этими типами данных: (PK, AI) ActID int (4) (FK) ShowName varchar (255) (FK) HallID int (3) ActStartTime datetime
Здесь мой код:
cursor = db.cursor()
# defining the Query
query = "INSERT INTO act (ShowName, HallID, ActStartTime) VALUES (%s, %s, %s)"
values = []
# executing the query with values
for i in range(0, 50):
# storing values in a variable
lst = []
lst.append("select ShowName from shows where ShowName=%s" % showTitles[i])
lst.append("select HallID from hall where HallID=%d" % i)
for j in range(0, len(actDateTime[i])):
lst2 = lst
lst2.append(actDateTime[i][j])
lst2 = tuple(lst2)
values.append(lst2)
cursor.executemany(query, values)
# to make final output we have to run the 'commit()' method of the database object
db.commit()
Полученная ошибка: mysql .connector.errors.InterfaceError: Не удалось выполнить операцию; Не все параметры были использованы в операторе SQL
Разве я не возвращаю 3 значения, как я должен делать?
Я пытался вставить одну строку данных с помощью MySQL Рабочая среда:
INSERT INTO act (ShowName, HallID, ActStartTime) VALUES ("SELECT ShowName from shows where ShowName=A Flock Of Hopeful Lions", "select HallID from hall where HallID=1", "2020-10-3 12:45:00")
Код ошибки: 1366. Неверное целочисленное значение: «выберите HallID из зала, где HallID = 1» для столбца «HallID» в строке 1
Стол HALL: https://imgur.com/a/PMT2chP
ПОКАЗЫВАЕТ стол: https://imgur.com/a/yzWEBkW