выходит ошибка при передаче аргументов функции

Я столкнулся с проблемой при передаче аргументов функции. Выходит ошибка. Сам код:

import csv
import sqlite3

def user_function(r):
    return ''.join(r)

conn = sqlite3.connect(':memory:')
conn.create_function('user_funk', 1, user_function)
cur = conn.cursor()
cur.execute('CREATE TABLE IF NOT EXISTS materials(d1, d2, d3, d4);')
with open('materials.csv', 'r') as f:
    reader = csv.DictReader(f)
    data = [(i['идентификатор'], i['вес'], i['высота'], i['доп. характеристики материала']) for i in reader]
    cur.executemany('INSERT INTO materials VALUES(?, ?, ?, ?)', data)
    cur.execute('SELECT user_funk(%s) AS result FROM materials' % ("d1, d2, d3, d4"))
    result = cur.fetchall()
    print(result)

Ошибка:

Traceback (most recent call last):
  File "C:\Users\Наран\PycharmProjects\csvvvvv\Additional task\user_func.py", line 15, in <module>
    cur.execute('SELECT user_funk(%s) AS result FROM materials' % ("d1, d2, d3, d4"))
sqlite3.OperationalError: wrong number of arguments to function user_funk()

Менял также количество параметров до 4х, которое по сути равно количеству переданных аргументов, в функции, но это также не срабатывало.


Ответы (0 шт):