Я полагаю, что синтаксис «%» для интерполяции строк является шаблоном, продемонстрировавшим свою уязвимость к SQL-инъекциям. Любые потенциально небезопасные значения, включенные в текст SQL, должны быть должным образом экранированы.
Я также думаю, что включение одинарных кавычек приводит к генерированию недопустимого синтаксиса SQL, а выполнение оператора завершается с ошибкой синтаксиса
cursor.execute("INSERT INTO FvA_urls(URL) VALUES('%s')" % game_url)
^ ^ ^
(Возможно, я лаю не на том дереве. Я не проверял это при тестировании. Возможно, одинарные кавычки необходимы или допустимы, и, возможно, значение правильно экранируется.)
Я считаю, что лучше использовать запятую вместо знака процента и передавать кортеж в качестве аргумента, например:
cursor.execute("INSERT INTO FvA_urls(URL) VALUES( %s )", (game_url,))
^ ^ ^ ^ ^^
Для сравнения взгляните на эту строку кода в example/pool.py
cur = yield POOL.execute("SELECT SLEEP(%s)", (t,))
^ ^ ^^
Моя ставка в том, в чем проблема.
Но в духе StackOverflow как сайта вопросов / ответов я признаю, что эти вопросы также задавались:
В: Разве невозможно, чтобы каждое соединение делало что-то независимо?
В: Как эта библиотека исключительно полезна только для выполнения одной и той же вещи много раз асинхронно?
Код в example / pool.py отвечает на ваш вопрос? Один и тот же оператор SQL выполняется с разными значениями, что, по-видимому, вы пытаетесь выполнить.