Это не имеет ничего общего с iteritems.
Как говорится в сообщении об ошибке, executemany
(почему вы используете много, а не просто execute
?) Принимает два аргумента, а вы передаете три. Параметры оператора SQL являются одним параметром, поэтому их необходимо заключить в кортеж.
cursor.execute("""INSERT INTO video_episodes(dizilink_id, episodename, episodeurl) VALUES (?,?,?)""", (dizilink_id, video_links.iteritems()))
Редактировать после комментария ОК, думаю, я понимаю, что вы пытаетесь сделать сейчас. Вы хотите вставить несколько значений (episodename, episodeurl) для того же значения dizilink_id.
Вы не можете сделать это с executemany. Вам нужно будет запустить несколько команд. Примерно так:
for name, url in video_links.iteritems():
cursor.execute("INSERT INTO video_episodes(dizilink_id, episodename, episodeurl) "
" VALUES (?,?,?)", (dizilink_id, name, url))