Вставить в таблицу python - PullRequest
       14

Вставить в таблицу python

0 голосов
/ 27 февраля 2020

Я сгенерировал этот массив, который я хочу вставить в свою таблицу, используя python sql.

def get_guards(list3, list2, list1):
       merg_list = [(list3[i], list2[i], list1[i]) for i in range(0, len(list3))] 
       return merg_list
qs = """INSERT INTO duties (token, post, service_no) VALUES (%s, %s, %s)"""
list1 = group_guards
list2 = zns
list3 = token_no
values = get_guards(list3, list2, list1)
cur.executemany(qs, values)
conn.commit()

Это дает мне ошибку

pymysql.err.InternalError: (1241, 'Operand should contain 1 column(s)')

Вывод списка

[('GUARD_NO:0002', 'Gate A', ['09494947', '209944']), ('GUARD_NO:0002', 'Guard B', ['38394904', '44774887', '8494994']), ('GUARD_NO:0002', 'Guard C', ['8764884', 'B909876'])]

1 Ответ

1 голос
/ 27 февраля 2020

Как говорит vaeng: кажется, что вы хотите добавить список

['09494947', '209944']

в service_no. SQL не очень заинтересован в списках в формате python. Таким образом, вам придется либо разбить строки и добавить отдельную запись для каждого значения service_no, либо нормализовать его и добавить внешний ключ в другую таблицу. за каждый номер услуги.

...