I have created a table as below:
+------------------+--------------+------+-----+------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+------------+----------------+
| category | varchar(20) | NO | | NULL | |
| report_id | int(5) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | UNI | NULL | |
| URL | varchar(200) | NO | | NULL | |
| refresh_type | varchar(30) | NO | | On Request | |
| create_dt | date | NO | | 9999-01-01 | |
| modified_dt | date | NO | | 9999-01-01 | |
| project_type | varchar(60) | YES | | NULL | |
| project_name | varchar(60) | YES | | NULL | |
| project_location | varchar(255) | YES | | NULL | |
+------------------+--------------+------+-----+------------+----------------+
Я также вставил записи в это. Я пытаюсь автоматизировать процесс вставки и обслуживания и получаю только несколько столбцов, таких как категория, имя и URL, из потока данных.
В соответствии с процессом пользователь может обновлять записи и изменять другиеполя, чтобы сделать их полезными, и в следующий раз, когда я пытаюсь вставить записи, я хочу выполнить upsert на основе имени. Я выполняю процесс с использованием Python. вот шаги, которые я попробовал:
dash= df.loc[:,['folder','name','url','url']].values.tolist()
dash_insert_sql= ("""insert into dashboards (category
,name
,URL
) values (%s,%s,%s)
on duplicate key update URL = values(%s) """)
cur.executemany(dash_insert_sql, dash)
Когда я пытаюсь это сделать, я получаю
Traceback (most recent call last):
File "C:\Python\Mysql\report_uri.py", line 65, in <module>
cur.executemany(dash_insert_sql, dash)
File "C:\Python\lib\site-packages\MySQLdb\cursors.py", line 228, in executemany
q_prefix = m.group(1) % ()
TypeError: not enough arguments for format string
Вот пример данных:
Мой ввод - списоксписков.
[['Информация об ученике', 'Активные студенты не запланированы', 'https://example.com/SASReportViewer/?reportUri=/reports/reports/af4f7325-860f-4958-ad83-bb900f726b32&page=vi6',' https://example.com/SASReportViewer/?reportUri=/reports/reports/af4f7325-860f-4958-ad83-bb900f726b32&page=vi6'], ['Информация об ученике', 'Статистическое сравнение поступлений из снимков', 'https://example.com/SASReportViewer/?reportUri=/reports/reports/6150909f-3ab4-4ec7-8ef0-7efdb1f09300&page=vi6', 'https://example.com/SASReportViewer/?reportUri=/reports/reports/6150909f-3ab4-4ec7-8ef0-7efdb1f09300&page=vi6']]
Пожалуйста, дайте мне знать, как поступить или где я ошибаюсь. Спасибо.