Python / psycopg2: как передать список в запрос [duplicate]

Это означает, что ваш код использовал ссылочную переменную объекта, которая была установлена ​​в нуль (т. е. она не ссылалась на экземпляр фактического объекта).

Чтобы предотвратить ошибку, объекты, которые могут быть пустыми, должны быть протестированы для null перед тем, как использовать.

if (myvar != null)
{
    // Go ahead and use myvar
    myvar.property = ...
}
else
{
    // Whoops! myvar is null and cannot be used without first
    // assigning it to an instance reference
    // Attempting to use myvar here will result in NullReferenceException
}
29
задан jcollado 29 December 2011 в 20:27
поделиться

1 ответ

Кортежи Python преобразуются в sql-списки в psycopg2:

cur.mogrify("SELECT * FROM table WHERE column IN %s;", ((1,2,3),))

выводит

'SELECT * FROM table WHERE column IN (1,2,3);'

Для новых пользователей Python: К сожалению, важно использовать кортеж, а не список здесь. Второй пример:

cur.mogrify("SELECT * FROM table WHERE column IN %s;", 
    tuple([row[0] for for in rows]))
51
ответ дан guettli 27 August 2018 в 08:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: