#python #mysql #mysql-connector
Вопрос:
У меня есть программа на python, в которой я хочу обновить сведения с помощью mysqlconnector в своей базе данных, но я получаю
Traceback (most recent call last):
File "d:devided githubrepo_data.py", line 116, in <module>
getRepos()
File "d:devided githubrepo_data.py", line 101, in getRepos
for repo in cursor:
File "C:Python39libsite-packagesmysqlconnectorcursor_cext.py", line 718, in fetchone
return self._fetch_row()
File "C:Python39libsite-packagesmysqlconnectorcursor_cext.py", line 689, in _fetch_row
row = self._rows[self._next_row]
TypeError: 'NoneType' object is not subscriptable
мой код
def getRepos():
cursor.execute("select repo_name,github_id from user_repo WHERE Processed = 'N'")
for repo in cursor:
username = repo[1]
repo_name = repo[0]
total_commit = total_commit_fetch_web_scrap(repo_name, username)
total_commit_user = total_commit_user_func(repo_name, username)
total_contributors = total_contributors_func(repo_name, username)
language_dict = {}
fetch_language(username, repo_name, language_dict)
sql = 'UPDATE user_repo SET contributors=%s, total_commits=%s, commit_by_user=%s, language_1=%s, language_2=%s, language_3=%s, language_4=%s, language_5=%s, language_6=%s, language_7=%s WHERE repo_name=%s AND github_id=%s;'
val = (total_contributors, total_commit, total_commit_user, language_dict['languages1'], language_dict['languages2'], language_dict['languages3'], language_dict['languages4'], language_dict['languages5'], language_dict['languages6'], language_dict['languages7'], repo_name, username)
cursor.execute(sql,val)
connection.commit()
курсор находится
cursor = connection.cursor(buffered=True)
Комментарии:
1. Можете ли вы поделиться содержимым переменной «sql»? Попробуйте распечатать его перед выполнением, тогда вы, вероятно, увидите, что не так.
2. @Culme я обновил вопрос, я отформатировал запрос, теперь я получаю другую ошибку, пожалуйста, проверьте.
3. Если вы просто выполните печать(sql) перед попыткой выполнить sql, это все равно может очень помочь. Это могут быть отсутствующие кавычки или что-то в этом роде, гораздо легче определить, разделяете ли вы полное значение «sql».
4. @Culme print, по-моему, выглядит нормально.
5. @Culme есть какая-то ошибка,
cursor.execute
потому что я попытался удалить ее, а затем запустить, и это сработало, я не получал ошибку, ноcursor.execute
это важно для базы данных, поэтому я не могу ее удалить. что я должен делать, какие-либо предложения.