mysql .connector.errors.InterfaceError: Не удалось выполнить операцию; Python тип UUID не может быть преобразован - PullRequest
0 голосов
/ 26 февраля 2020

Я создал таблицу в mysql

create table authorization(
email varchar(50),
orgID int(10),
candidateID varchar(255)
);

Я пытаюсь сгенерировать uuid дляандидата в таблице, которая использует uuid v4. Я пытаюсь загрузить информацию в базу данных с помощью python кода.

file = 'mycsvfile.csv'
data = [row for row in csv.reader(open(file,'r'))]
...
db_data = []
for row in data:
    id = uuid.uuid4()
    temp = {}
    temp['email'] = row[13]
    temp['orgID'] = row[1]
    temp['candidateID'] = id
    db_data.append(temp)
cols = ['email', 'orgid', 'candidateid']
try:
   Mysqlfunction.bulk_insert(table, cols, db_data, **CONFIG['database']['test'])
except Exception as error:
   print(error)

Я получаю сообщение об ошибке

mysql.connector.errors.InterfaceError: Failed executing the operation; Python type UUID cannot be converted

при проверке некоторых ссылок Мне удалось выполнить запрос с помощью uuid4 () без проблем

insert into authorization(email, orgID, candidateID) values("maria@email.com", 1, (select uuid()));

Есть ли способ напрямую использовать uuid в переменной, так что мне не нужно каждый раз запускать mysql для генерации uuid?

...