#python-3.x #sqlite
#python-3.x #sqlite
Вопрос:
a — это значение, введенное пользователем.
cur.execute('SELECT * FROM table WHERE Column-name LIKE ?', ('%{}%'.format(a,))
В базе данных должно отображаться значение, совпадающее с введенным значением. Он отображается только для одного столбца. Я хочу получить запись для более чем одного столбца. Необходимо использовать оператор OR, но не уверен в синтаксисе. Может ли кто-нибудь, пожалуйста, помочь мне.
Комментарии:
1. Пожалуйста, прочитайте информацию о теге sqlite.
Ответ №1:
Просто расширьте where
предложение с дополнительными условиями, разделенными OR
— соответственно, вам нужно повторить параметры привязки:
cur.execute('SELECT * FROM table WHERE col1 LIKE ? OR col2 LIKE ?', ('%{}%'.format(a, a))
Комментарии:
1. я попытался сделать то же самое, но выдает ошибку: ‘Неверное количество предоставленных привязок. В текущем операторе используется 2, и есть 1 предоставленный. ‘