Функция Concat возвращает 1 по запросу MySQL на Flask - PullRequest
0 голосов
/ 30 апреля 2018

Я запускаю MySql запрос в колбе с функцией concat, и он всегда возвращает 1.

cur.execute("INSERT INTO jobs( job_id, job_name, company, who_created) 
VALUES(%s,%s, %s,%s)",(job_id,job_name, company,
[cur.execute("select concat(first_name , ' ' , last_name)
from employees where username = %s", [username] ) ] ) )

who_created всегда возвращает 1.

Когда я запускаю запрос в MySQLWorkbench, он работает нормально и возвращает first name + last name.

Проблема не в функции concat, потому что даже если я запускаю ее без concat, я получаю ошибку "str object not callable"

Спасибо.

1 Ответ

0 голосов
/ 30 апреля 2018

cur.execute вернет количество найденных строк. Чтобы получить возвращенные данные, вам нужно использовать другой вызов после выполнения:

cur.execute("select concat(first_name , ' ' , last_name) from employees where username = %s", [username] )
name_rs = cur.fetchall()
cur.execute("INSERT INTO jobs( job_id, job_name, company, who_created) VALUES(%s,%s,%s,%s)",(job_id, job_name, company, name_rs[0][0] ) )
...